子接口:RunnableFuture<V>, RunnableScheduledFuture<V>
实现类:AsyncBoxView.ChildState, ForkJoinWorkerThread, FutureTask, RenderableImageProducer, SwingWorker, Thread, TimerTask.
有一个 void run() 方法,所有实现类必须实现这个方法。
使用场景:
- 如果一个类的实例想被Thread执行, 那么这个类必须定义定义一个run方法,所有如果直接implements Runnable接口,则必须实现run方法。
- 如果这个类不想是Thread的子类,而且想保持简单的形式,那么implements Runnable接口是很好的选择。
public class Bike implements Runnable { @Override public void run() { System.out.println("I am by biking"); } public static void main(String[] args) { Bike mybike = new Bike(); new Thread(mybike, "mybike").start(); System.out.println("Main..."); } }
只知道不行动是纸上谈兵,只行动不思考更像是无头的苍蝇,要知行合一。