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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值