//單例線程
Thread thread = new Thread(() => test());
thread.Start();
//加入線程池
ThreadPool.QueueUserWorkItem( o=> {
//執行代碼邏輯
});
判斷線程池的內容是否全部執行完成,可以在啓動完所有的線程後,寫一個while來循環判斷處理,內容如下:
//聲明相關變量
int AvailableWorkerThreads, aiot, workNumber, aiot2;
//獲取線程池當前數量
ThreadPool.GetAvailableThreads(out AvailableWorkerThreads, out aiot);
//獲取線程池最大數量
ThreadPool.GetMaxThreads(out workNumber, out aiot2);
//判斷當前執行的線程數量是否與最大值一致,一致則所有內容執行完畢
if (workNumber - AvailableWorkerThreads == 0)
{
//這裏是線程池所有線程執行完畢的邏輯
//.....
}