C# 线程池队列使用


// 推送大批量数据
static void ThreadPool_Sync(List listCUniqueCode, int UserID)
{
ThreadPool.SetMinThreads(1, 1);//最少线程数和最少I/O
ThreadPool.SetMaxThreads(10, 10);//最大线程数和最大I/O

//Log4日志记录
log.Info("推送数量:"+listCUniqueCode.Count);

for (int i = 0; i < listCUniqueCode.Count; i++)
{
    //超过10个线程时,排队等待前面的线程执行完,有闲置的线程时再接着执行,业务复杂程度不一,执行顺序无法确定
    ThreadPool.QueueUserWorkItem(new WaitCallback(SyncUserInfoByCUniqueCode), listCUniqueCode[i]);
}

}

// 具体业务处理
static void SyncUserInfoByCUniqueCode(object CUniqueCode)
{
//耗时业务处理
//推送数据
}
C# 线程池队列使用

原创文章,作者:端木书台,如若转载,请注明出处:https://blog.ytso.com/278525.html

(0)
上一篇 2022年8月3日
下一篇 2022年8月3日

相关推荐

发表回复

登录后才能评论