可运行的对象
Runnable 接口定义了一个方法 run(),用于包含线程中执行的代码。
Runnable 对象被传递给 Thread 构造函数。并调用 Thread 的 start() 方法。
例
public class HelloRunnable implements Runnable {
@Override
public void run() {
System.out.println("Hello from a thread");
}
public static void main(String[] args) {
new Thread(new HelloRunnable()).start();
}
}
Java8 中的示例:
public static void main(String[] args) {
Runnable r = () -> System.out.println("Hello world");
new Thread(r).start();
}
Runnable vs Thread 子类
Runnable 对象的使用更为通用,因为 Runnable 对象可以继承 Thread 以外的类。
Thread 子类化在简单的应用程序中更容易使用,但受限于你的任务类必须是 Thread 的后代这一事实。
Runnable 对象适用于高级线程管理 API。