A Runnable is basically a type of class (Runnable is an Interface) that can be put into a thread, describing what the thread is supposed to do.
The Runnable Interface requires of the class to implement the method run()
like so:
public class MyRunnableTask implements Runnable { public void run() { // do stuff here } }
And then use it like this:
Thread t = new Thread(new MyRunnableTask()); t.start();
If you did not have the Runnable
interface, the Thread class, which is responsible to execute your stuff in the other thread, would not have the promise to find a run()
method in your class, so you could get errors. That is why you need to implement the interface.
Advanced: Anonymous Type
Note that you do not need to define a class as usual, you can do all of that inline:
Thread t = new Thread(new Runnable() { public void run() { // stuff here } }); t.start();
This is similar to the above, only you don’t create another named class.