線程的生命週期




上面就是線程的生命週期。


一個應用程序只有一個進程,一個進程可以擁有多個線程
進程間通信不方便,但線程非常方便
進程獨享資源,而線程可以共享它所屬的進程的資源
進程結束,其中的線程也會直接銷燬


多線程幫助你寫出CPU最大利用率的高效程序
java線程的處理方式:一、繼承Thread類(1.外部類 2.匿名內部類)         用來解決耗時的程序
           二、實現runnable接口   

在一個線程中調用另一個線程中的join  則當前線程阻塞,讓另一個線程先執行,當前再執行(與優先級無關)

sleep狀態不能釋放鎖

yield與sleep的差別:
1.sleep給其他線程運行的機會,但不考慮其他線程的優先級;但yield只會讓位或更高優先級的線程;
2.sleep有異常,yield沒有異常
3.當線程執行了yield之後就轉到就緒狀態,而執行了sleep之後則會進入到阻塞狀態



yield與join的差別:
1.yield是靜態方法(需要用類調用) join是實例方法
2.yield只會讓位給相同或更高優先級的線程,join與優先級無關
3.join有異常


synchronized   解決同步塊的方法


死鎖:產生的四個條件:(1)互斥
            (2)請求與保持條件
            (3)不可強制剝奪
            (4)循環等待

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章