0
Q
並行處理大量進程
A
回答
0
創建一個單場
private volatile int ProcessesStillRunning;
在你開始你的過程,它初始化爲正確的值
this.ProcessesStillRunning = 200;
this.StartProcesses(200);
// now wait on your doneEvent
修改您的處理程序,以使該字段遞減過程一旦退出
if (System.Threading.Interlocked.Decrement(ref this.ProcessesStillRunning) == 0)
this.doneEvent.Set();
當然,你現在應該知道你的方法不會使用任何.NET內置的並行性限制,只會運行200個進程。那麼這是操作系統如何處理這個問題。
相關問題
- 1. 並行處理大量數據
- 2. 應用程序崩潰對圖像進行大量處理
- 3. 並行大數據處理
- 4. Python處理大量線程?
- 5. 處理大量
- 6. 處理執行的進程
- 7. 在python中處理大量進口
- 8. 進行並行處理-j命令
- 9. 如何將PLINQ進行並行處理?
- 10. 使用Matlab GUI進行並行處理
- 11. Node.js處理大量併發連接
- 12. 線程與並行處理
- 13. 並行處理Python線程
- 14. 多線程/並行處理
- 15. C++線程 - 並行處理
- 16. 使用大數據進行多處理
- 17. C++ getaddrinfo不對大URL進行處理
- 18. 處理大量的大jpgs
- 19. 對事件流進行大量處理的最後結果
- 20. 更好的進程來同時處理大量的數據
- 21. Python多處理:最大。池工作進程的數量?
- 22. 從子進程持續處理大量的stdout和stderr
- 23. BASH中N進程批處理的並行運行
- 24. 使用python的多處理和進程並行編程defunc
- 25. 並行處理分割大圖像
- 26. 大熊貓數據幀並行處理
- 27. 如何處理併發執行的大量數據(NSOperationQueue或Blocks)
- 28. 在多個CPU環境中並行處理大量函數
- 29. 並行處理
- 30. 並行處理
即使是現代計算機,同時運行200個程序也需要比平行運行X程序(X等於邏輯處理器數量)更長的時間。你真的需要同時運行它們嗎?你不能簡單地使用TPL排隊工作嗎? –
當然不是,我只想讓線程池管理最高效的並行作業數量。不幸的是,我使用C#2.0並且不能使用TPL – alex555