多執行緒使用場景:
主(控)執行緒召喚了幾個小弟來解決主(控)執行緒不方便處理的問題;
召喚乙個小弟或召喚一群小弟,各有分工,協同完成任務。
普通的程式塊通過if-else等流控來控制業務流程;
執行緒通過執行緒變數來控制;
與人類社會(公司組織)類似,執行緒程式設計的主要思想是任務分解、分離與匯報機制;
執行緒的角色與乙個責任人一樣,是用來處理任務和task的;
執行緒的程式設計思想即面向task程式設計;task是乙個流程化的概念,是乙個任務流的處理處理主體;
相對與執行緒程式設計,普通程式設計是面向模組程式設計和物件導向程式設計的。
執行緒api本身又是物件導向的概念。
它的主要使用場景分如下三種:
1)剝離乙個次要任務交給另乙個執行緒處理,處理完成後向主線程報告完成情況;相當於cs的模式;
2)將乙個規模比較大的任務拆分成幾個小任務,每個小任務是整體任務的一部分(不分先後);召喚幾個子執行緒來完成這些任務;全部完成以後向控制線程報告;工作組模式;
3)將乙個流水線的任務,按步驟分拆成幾個小步驟,每個步驟完成任務的乙個環節;召喚子執行緒來完成各個步驟;生產者-消費者模式;
其它的使用場景,都是如上三種場景的組合和變種。
執行緒資料共享與協作
執行緒協作 測試類public class threadsharedatatest 執行緒類 class newthread extends thread override public void run 結果 在兩個執行緒之間是同乙個物件,這樣就實現了資料的共享 測試類public class t...
執行緒 同步執行緒和協作執行緒
1 同步塊 實現 package edu.xalead public class 吃包子 extends thread public synchronized void eat public void run catch interruptedexception e 多執行緒的爭用問題 會出現兩個執...
執行緒 執行緒協作 管程法
wait 讓執行緒堵塞 notifyall 通知執行緒接觸堵塞mq 的思想,列 生產者生產,消費者消費,通過緩衝區 生產者生產100個摸頭,消費者買饅頭。消費者從緩衝區取饅頭,如果饅頭已賣完,就進入等待,等生產者做饅頭,放到容器裡,再通知消費者取饅頭,如果生產者已經再容器裡生產100個 則 進入等待...