創建線程的幾種方式
說道線程,肯定會想到使用 java.lang.Thread.java這個類
那麼創建線程也主要有2種方式第一種方式:public class MyThread extends Thread { public void run() { System.out.println("這是MyThread線程"); }}
然後在調用處,執行start方法即可:
MyThread myThread = new MyThread();myThread.start();
第二種方式實現Runnable介面:
public class MyRunnable implements Runnable { public void run() { System.out.println("這是MyThread線程"); } }
同樣在執行的地方直接生命這個MyRunnable,再直接丟進線程start即可:
MyRunnable runBary = new MyRunnable();Thread thread = new Thread(runBary);thread.start();
這兩種方式都可以用匿名類的方式來實現,但是我並不推薦;
另外使用Thread本身來實現線程還是用Runnable來做,我推薦後者,因為相對來說會比較方便,直接往線程中一扔即可,如果使用spring的線程執行器也是同樣的道理,往執行器中丟入這個runnable即可
image
需要注意的是,執行線程的時候可以使用start()方法或者run()方法,雖然使用run會達到同樣的效果,
但是run是在主線程中使用的,也就是使用你當前的方法內線程,而不是另起一個線程,這樣就達不到非同步的效果,所以務必使用start()
尚自習 | 程序員的進階平台 itzixi.com
推薦閱讀:
※我們為何要使用多線程,它有什麼優點?
※多線程效率測試
※關於如何構建一個線程安全的數組引發的思考
※CountDownLatch實現計算線程阻塞
※十. 內核線程
TAG:多線程 |