1、執行緒池是單例的,全域唯一的,設定執行緒池最大活躍執行緒數是5,設定后,允許同時并發的Task只有5個,我們開啟100個task去做任務,從最后的輸出結果看到,雖然開啟了100個task,但是執行緒id始終是那5個如圖所示
2、結論:證明task是來源于執行緒池的,而且執行緒是重用的
namespace task_threadpool{ class Program { static void Main(string[] args) { ThreadPool.SetMaxThreads(5, 5); for (int i = 0; i < 100; i++) { int k = i; Task.Run(() => { Console.WriteLine($"This is {k} running ThreadId={Thread.CurrentThread.ManagedThreadId.ToString("00")}"); Thread.Sleep(2000); }); } Console.Read(); } }}

轉載請註明出處,本文鏈接:https://www.uj5u.com/net/80525.html
標籤:C#
上一篇:.net全堆疊開發-c#面向物件與工控自動化分揀上位機
下一篇:ADO.NET事務封裝
