编程语言
首页 > 编程语言> > C# 线程池队列使用

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)
{
//耗时业务处理
//推送数据
}

标签:Count,10,C#,ThreadPool,队列,线程,listCUniqueCode,推送
来源: https://www.cnblogs.com/JYCDD/p/16544829.html