執行緒 角色與協作

2021-09-08 04:35:46 字數 598 閱讀 1635

多執行緒使用場景:

主(控)執行緒召喚了幾個小弟來解決主(控)執行緒不方便處理的問題;

召喚乙個小弟或召喚一群小弟,各有分工,協同完成任務。

普通的程式塊通過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個 則 進入等待...