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