C# 单例多线程和线程池

//单例线程
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)
{
    //这里是线程池所有线程执行完毕的逻辑
    //.....
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章