(歡迎關注公衆號:深入Java底層)
1、實現多線程編程的方式主要有兩種,一種是繼承Thread類,另一種是實現Runnable接口。使用繼承Thread類的方式創建新線程時,最大的侷限性就是不支持多繼承,因爲Java語言的特點就是單根繼承,所以爲了支持多繼承,完全可以實現Runnable接口的方式,一邊實現一邊繼承。
注意(1)同一個thread如果多次調用start()方法,則會出現異常Exception in thread“main”java.lang
.IllegalThreadStateException;(2)執行start()方法的順序不代表線程啓動的順序。
2、currentThread()方法: 返回代碼段正在被哪個線程調用的信息。
3、 isAlive()方法:判斷當前的線程是否處於活動狀態。活動狀態就
是線程已經啓動(正在運行或準備開始運行)且尚未終止。
運行結果:
說明:c.start()和t1.start()的打印輸出會交替執行,上面的代碼爲了說明問題,執行c.start()時註釋了下面的代碼;執行下面的代碼,註釋了c.start()。
4、sleep()方法:在指定的毫秒數內讓當前“正在執行的線程”休眠(暫停執行)。這個“正在執行的線程”是指this.currentThread()返回的線程。
5、getId()方法:取得線程的唯一標識。
(歡迎關注微信公衆號:深入Java底層)