Java多線程和並發(二),Thread中的start和run的區別
阿新 • • 發佈:2019-02-11
() main alt exception adt 方法 的區別 @override att
目錄
1.調用run方法
2.調用start方法
3.start和run的區別
二、Thread中的start和run的區別
1.調用run方法
public class ThreadTest { private static void attack() { System.out.println("Current Thread is : " + Thread.currentThread().getName()); } public static void main(String[] args) throws InterruptedException { Thread t= new Thread(){ @Override public void run() { attack(); } }; System.out.println("current main thread is : " + Thread.currentThread().getName()); t.run(); }
顯示線程只有一個,即main線程
2.調用start方法
public class ThreadTest {private static void attack() { System.out.println("Current Thread is : " + Thread.currentThread().getName()); } public static void main(String[] args) throws InterruptedException { Thread t = new Thread(() -> attack()); System.out.println("current main thread is : " + Thread.currentThread().getName()); t.start(); } }
我們是用lambda表達式來重寫的Thread類,這個時候就會創建一個新的線程
3.start和run的區別
Java多線程和並發(二),Thread中的start和run的區別