本文除代碼陽曆都是Java Doc的翻譯bash
Runnable接口的實現類通常都是用來在一個線程中執行的。實現類必須定義一個run()方法。Thread接口就是這個接口的實現類,只要thread是激活狀態,就會執行run方法。測試
void run() 當一個對象實現了Runnable接口,意味着要使用它在另外一個線程中執行這個方法。執行thread.start啓動線程並會執行run方法。 See Also: Thread.run()ui
使用Runnable.run()方法執行業務邏輯,不會建立新的線程。須要使用Thread.start()纔會建立一個新的線程;spa
/**
* @author zhuzh
* @date 2019.10.12
*/
public class RunnableExample {
public static void main(String[] args){
Runnable runner = () -> System.out.println(Thread.currentThread().getName());
//直接調用run方法,不會啓動新的線程
runner.run();
Thread thread = new Thread(runner);
//直接調用thread.run也不會啓動新的線程
thread.run();
//只有調用start纔會啓動新的線程
thread.start();
}
}
複製代碼
main
main
Thread-0
Process finished with exit code 0
複製代碼