Java併發程式設計---java規範與模式下的併發程式設計1.1
concurrent programming in java design principles and patterns 學習記錄。
Using Concurrency Constructs:
使用synchronized的一般規則:
- 更新物件自身的屬性時,總是加鎖。
- 訪問可能被改變的物件屬性時,總是加鎖。
- 當呼叫其他物件的方法時,從不加鎖。
使執行緒結束的方法有很多種:
- 最簡單的方法時讓run方法正常執行結束.
- 但是對於有無盡迴圈邏輯的執行緒來說,最好的選擇是使用Thread.interreupt,這樣執行緒即可從Object.wait(),Thread.join()和Thread.sleep()中退出,呼叫者可以捕獲中斷異常,進行合適的處理。
新開啟的執行緒不持有開啟者執行緒所持有的任何鎖。
在自己的執行緒中不要讓自己join,如此自己會等待自己執行完再繼續執行,這樣程式將無法退出。
預設每個執行緒的優先順序與開啟它的執行緒相同,主執行緒預設的優先順序為5(優先順序1-10).執行緒可以在自己的執行緒執行中設定自己的優先順序。設定的優先順序可以影響到本程式與其他程式在同一臺計算機上的排程。
主執行緒被繼承的優先順序只能是5(主執行緒可以設定自己的優先順序為其他值,但是主執行緒建立的其他執行緒預設繼承的值是5,可以顯示設定開啟的執行緒的優先順序,其他執行緒設定自己的優先順序可以被其開啟的執行緒繼承)
Thread類還支援的控制方法有:suspend、resume、stop和destroy。suspend、resume和stop被棄用了,stop在發行版java中沒被實現,可能永遠也不會實現。suspend和resume的效果可以用waiting和notification來實現。
suspend、resume、stop與destroy已經全部棄用了,但是destroy也是實現了的。
Thread的yield方法建議先執行其他的執行緒,yield方法的作用取決於虛擬機器的解釋,因此yield的作用並不能獲得保證。
相關文章
- java 併發程式設計Java程式設計
- Java併發程式設計Java程式設計
- 【Java併發程式設計】併發程式設計大合集-值得收藏Java程式設計
- Java併發程式設計中的設計模式解析(一)Java程式設計設計模式
- Java併發程式設計 - 第十一章 Java併發程式設計實踐Java程式設計
- 併發程式設計的12條規範程式設計
- java-併發程式設計Java程式設計
- Java併發程式設計-CASJava程式設計
- Java併發程式設計:synchronizedJava程式設計synchronized
- Java 併發程式設計解析Java程式設計
- Java併發程式設計:LockJava程式設計
- Java併發程式設計-鎖及併發容器Java程式設計
- Java併發系列—併發程式設計挑戰Java程式設計
- java併發程式設計系列:java併發程式設計背景知識Java程式設計
- JAVA併發程式設計實踐 下載Java程式設計
- Java併發程式設計藝術Java程式設計
- Java併發程式設計實踐Java程式設計
- Java併發程式設計—ThreadLocalJava程式設計thread
- Java 併發程式設計 Executor 框架Java程式設計框架
- Java併發程式設計 -- ConditionJava程式設計
- Java併發程式設計 -- ThreadLocalJava程式設計thread
- Java併發程式設計之synchronizedJava程式設計synchronized
- Java併發程式設計基礎Java程式設計
- Java 併發程式設計要點Java程式設計
- Java併發程式設計——ThreadLocalJava程式設計thread
- java併發程式設計:同步容器Java程式設計
- Java併發程式設計實戰Java程式設計
- Java併發程式設計-synchronized指南Java程式設計synchronized
- 《java併發程式設計的藝術》併發工具類Java程式設計
- Java併發程式設計ForkJoin的DemoJava程式設計
- Java併發程式設計的藝術Java程式設計
- Java對併發程式設計的支援Java程式設計
- 【Java併發程式設計】一、為什麼需要學習併發程式設計?Java程式設計
- Java併發程式設計的藝術,解讀併發程式設計的優缺點Java程式設計
- Java併發程式設計之Java CAS操作Java程式設計
- Java併發程式設計:Java執行緒Java程式設計執行緒
- Java程式設計師修煉之道—併發程式設計Java程式設計師
- 《java併發程式設計的藝術》併發容器和框架Java程式設計框架