C# 多线程 线程池(ThreadPool) 2 如何控制线程池?
生活随笔
收集整理的這篇文章主要介紹了
C# 多线程 线程池(ThreadPool) 2 如何控制线程池?
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
線程池啟動了,但是沒有方法去控制線程池,如果子線程出現了問題,難道線程池就死了嗎?
我們可以設置線程池的線程數量,進行加入任務,線程池會自動分配并且合理的執行,但是控制不了又有啥意思呢。
線程池里線程的執行不影響主線程的運行的。
線程池中有一個東西叫做 信號燈 下面是一個例子:
?
代碼的信號燈的作用,當任務全部投放在線程池中,我們開啟了阻塞線程池。
之后,我們又在執行的函數中,添加了代碼,也就是
很明顯,我們判斷了當前執行的數量以及我們項目的總數量。如果達到總數量,則代表線程池已經執行完畢,我們可以監控他是否完畢,
當代碼:myEvent.WaitOne(); 執行了,它不僅阻塞,他會等待。等到我們的myEvent.Set(); 信號發出之后,即可恢復繼續執行。
總結
以上是生活随笔為你收集整理的C# 多线程 线程池(ThreadPool) 2 如何控制线程池?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Cacti+Nagios完全攻略(二)整
- 下一篇: docker学习实践之路[第一站]环境安