In java the interface Runnable in basically an abstraction for an executable command.

We talked about the Thread class as a low level concurrency construct for java and android.

Well another building block is the Runnable, an interface that comes from the Java API, and meant to specify and encapsulate code that is intended to be executed by a Java thread instance or any other class that handles this Runnable.

It's an interface and is defined in the java.lang package and has an abstract method called run() that we have to implement.

package java.lang;
public interface Runnable{
    public abstract void run();