1.編寫一個類,直接繼承 java.lang.Thread, 重寫run方法。具體程式碼如下:
我們來一行一行分析:
MyThread myThread = new MyThread(); 新建一個分支物件
myThread.start(); 啟動一個分支執行緒,在JVM中開闢一個新的棧空間,這段程式碼任務完成之後,瞬間就結束了。這段程式碼的任務只是為了開闢一個新的棧空間,只要新的棧空間開出來,start()方法就結束了。棧執行緒啟動成功了,啟動成功的執行緒自動呼叫run方法,並且run方法在分支棧的底部(壓棧)
好了,我們看下多執行緒執行的記憶體圖
2.第二種方式:編寫一個類,實現 java.lang.Runnable介面,實現run方法。
直接看程式碼實現:
執行結果如下:
注意:第二種方式實現介面比較常用,應為一個類實現了介面,它還可以去繼承其它的類,更靈活。
第二種方式還可以透過匿名內部類來建立執行緒物件,程式碼如下:
最新評論