多執行緒基礎練習實踐篇
1.複習題一: 建立三個執行緒A、B、C,實現交替列印,即按照ABCABCABC的順序列印。
我們可以使用java多執行緒中的join,ReentrantLock,ReentrantLock -condition條件,synchronized分別實現。
PS:使用join實現的時候,千萬不要在各個執行緒中使用join,因為執行緒不是按順序啟動的,所以無法保障會按順序輸出。
2.題目:建立20個執行緒,按每5個執行緒為一組輸出內容。
訊號量(Semaphore) 的使用, 訊號量可以指定多個執行緒同時訪問。
3.CountDownLatch 多執行緒控制工具類
使用場景:火箭發射,其他工序完成後,才開始倒數計時發射操作。
CheckThread為各項檢查工序類,UltimateThread為最終發射類。
4.可迴圈的執行器 CyclicBarrier
這裡模擬的是士兵集合以及完成任務兩個操作。
需要注意的是Demo中的CyclicBarrier(int parties, Runnable barrierAction) 這個建構函式, 第一個引數為 參與的執行緒總數,第二個引數為 一個動作類 指的是一次計數完成後 執行的動作。
5.讀寫鎖ReentrantReadWriteLock
讀寫鎖的DMOE練習,是 《JAVA高併發程式設計》書中的第三章 3.1.4小節的內容,因為書上的例子做了模擬,我自己寫了讀寫檔案的方法,通過檢視檔案的讀寫內容可以快速的看出是否讀寫鎖具有高效的性質。
6.fork/join框架
參考 http://ifeve.com/fork-join-3/
開發一個在文件中查詢單詞的應用程式。你將會實現以下兩種任務型別:
- 1.一個文件任務,將在文件中的行集合中查詢一個單詞。
- 2.一個行任務,將在文件的一部分資料中查詢一個單詞。
- 3.所有任務將返回單詞在文件的一部分中或行中出現的次數。
這個demo寫完之後,效率總是不高。
相關文章
- Java多執行緒-基礎篇Java執行緒
- 多執行緒學習一(多執行緒基礎)執行緒
- 多執行緒基礎-基礎實現執行緒
- iOS多執行緒詳解:實踐篇iOS執行緒
- 多執行緒系列(1),多執行緒基礎執行緒
- 多執行緒基礎執行緒
- 程式執行緒篇——程式執行緒基礎執行緒
- 多執行緒基礎必要知識點!看了學習多執行緒事半功倍執行緒
- 多執行緒-作業練習執行緒
- pthread 多執行緒基礎thread執行緒
- python多執行緒基礎Python執行緒
- java - 多執行緒基礎Java執行緒
- Java 多執行緒基礎(四)執行緒安全Java執行緒
- 多執行緒系列(三):執行緒池基礎執行緒
- 最全java多執行緒學習總結1--執行緒基礎Java執行緒
- Java 多執行緒基礎(八)執行緒讓步Java執行緒
- 玩轉java多執行緒 之多執行緒基礎 執行緒狀態 及執行緒停止實戰Java執行緒
- Java 多執行緒基礎 - CyclicBarrierJava執行緒
- 基礎鞏固 --多執行緒執行緒
- 多執行緒基礎知識執行緒
- 多執行緒基礎入門執行緒
- C#多執行緒開發-執行緒基礎 01C#執行緒
- JAVA SE 實戰篇 C1 多執行緒程式設計基礎Java執行緒程式設計
- java多執行緒基礎篇(wait、notify、join、sleep、yeild方法)Java執行緒AI
- C++多執行緒基礎教程C++執行緒
- 併發與多執行緒基礎執行緒
- JAVA_基礎多執行緒(一)Java執行緒
- Java 多執行緒基礎(六)執行緒等待與喚醒Java執行緒
- 多執行緒程式設計基礎(一)-- 執行緒的使用執行緒程式設計
- Java多執行緒(一)多執行緒入門篇Java執行緒
- Day66.練習5 -Java多執行緒Java執行緒
- 【JAVA】【面試】【基礎篇】- 執行緒、鎖Java面試執行緒
- 執行緒和程式基礎以及多執行緒的基本使用(iOS)執行緒iOS
- 多執行緒程式設計基礎(二)-- 執行緒池的使用執行緒程式設計
- 【多執行緒與高併發】- 執行緒基礎與狀態執行緒
- Java 多執行緒基礎(十一)執行緒優先順序和守護執行緒Java執行緒
- JAVA多執行緒和併發基礎Java執行緒
- 多執行緒基礎知識點梳理執行緒