當(dāng)前位置:
首頁 >
C# 多线程 线程池(ThreadPool) 2 如何控制线程池?
發(fā)布時間:2025/7/14
54
豆豆
生活随笔
收集整理的這篇文章主要介紹了
C# 多线程 线程池(ThreadPool) 2 如何控制线程池?
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
線程池啟動了,但是沒有方法去控制線程池,如果子線程出現(xiàn)了問題,難道線程池就死了嗎?
我們可以設(shè)置線程池的線程數(shù)量,進行加入任務(wù),線程池會自動分配并且合理的執(zhí)行,但是控制不了又有啥意思呢。
線程池里線程的執(zhí)行不影響主線程的運行的。
線程池中有一個東西叫做 信號燈 下面是一個例子:
?
代碼的信號燈的作用,當(dāng)任務(wù)全部投放在線程池中,我們開啟了阻塞線程池。
之后,我們又在執(zhí)行的函數(shù)中,添加了代碼,也就是
很明顯,我們判斷了當(dāng)前執(zhí)行的數(shù)量以及我們項目的總數(shù)量。如果達到總數(shù)量,則代表線程池已經(jīng)執(zhí)行完畢,我們可以監(jiān)控他是否完畢,
當(dāng)代碼:myEvent.WaitOne(); 執(zhí)行了,它不僅阻塞,他會等待。等到我們的myEvent.Set(); 信號發(fā)出之后,即可恢復(fù)繼續(xù)執(zhí)行。
總結(jié)
以上是生活随笔為你收集整理的C# 多线程 线程池(ThreadPool) 2 如何控制线程池?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Cacti+Nagios完全攻略(二)整
- 下一篇: C# MBG 扩展方法类库 分享