多線程事務如何控制
多線程事務如何控制
1、主線程將任務分發給子線程,然后使用某種阻塞機制(如childMonitor.await)阻塞主線程,等待所有子線程處理完業務,并將結果存儲在阻塞隊列中。2、使用childMonitor.countDown釋放子線程的鎖定,同時使用mainMonitor.await阻塞子線程,將程序的控制權交還給主線程。3、主線程檢查子線程執行任務的結果,若有失敗結果出現,主線程標記狀態告知子線程回滾,然后使用mainMonitor.countDown將程序控制權再次交給子線程,子線程檢測回滾標志,判斷是否回滾。
導讀1、主線程將任務分發給子線程,然后使用某種阻塞機制(如childMonitor.await)阻塞主線程,等待所有子線程處理完業務,并將結果存儲在阻塞隊列中。2、使用childMonitor.countDown釋放子線程的鎖定,同時使用mainMonitor.await阻塞子線程,將程序的控制權交還給主線程。3、主線程檢查子線程執行任務的結果,若有失敗結果出現,主線程標記狀態告知子線程回滾,然后使用mainMonitor.countDown將程序控制權再次交給子線程,子線程檢測回滾標志,判斷是否回滾。
![](https://img.51dongshi.com/20241126/wz/18340401352.jpg)
根據百度百科顯示,以下是多線程事務控制的基本步驟:1、主線程將任務分發給子線程,然后使用某種阻塞機制(如childMonitor.await)阻塞主線程,等待所有子線程處理完業務,并將結果存儲在阻塞隊列中。2、使用childMonitor.countDown釋放子線程的鎖定,同時使用mainMonitor.await阻塞子線程,將程序的控制權交還給主線程。3、主線程檢查子線程執行任務的結果,若有失敗結果出現,主線程標記狀態告知子線程回滾,然后使用mainMonitor.countDown將程序控制權再次交給子線程,子線程檢測回滾標志,判斷是否回滾。
多線程事務如何控制
1、主線程將任務分發給子線程,然后使用某種阻塞機制(如childMonitor.await)阻塞主線程,等待所有子線程處理完業務,并將結果存儲在阻塞隊列中。2、使用childMonitor.countDown釋放子線程的鎖定,同時使用mainMonitor.await阻塞子線程,將程序的控制權交還給主線程。3、主線程檢查子線程執行任務的結果,若有失敗結果出現,主線程標記狀態告知子線程回滾,然后使用mainMonitor.countDown將程序控制權再次交給子線程,子線程檢測回滾標志,判斷是否回滾。
為你推薦