增加一次处理的后台工作人员数量
Increase number of background workers processing at once
我正在编写一个 C# .NET 软件,它产生了一堆后台工作者。所有工作人员立即进入“IsBusy”状态,但是,只有 8 个工作人员同时通过他们的 DoWork 方法进行处理。
有没有办法一次性增加多少运行?
代码是这样产生后台工作人员的:
foreach (RESTObjectPrintFile t in printFilesList)
{
BackgroundWorker bgWorker = new BackgroundWorker();
bgWorker.DoWork += BgWorker_DoWork;
bgWorker.RunWorkerCompleted += BgWorker_RunWorkerCompleted;
bgWorkerList.Add(bgWorker);
bgWorker.RunWorkerAsync(t);
}
尝试以下方法
ThreadPool.SetMinThreads(20, 20);
同时查看这篇文章
http://www.albahari.com/threading/#_Optimizing_the_Thread_Pool
底部写着:
The default value is one thread per core.
我正在编写一个 C# .NET 软件,它产生了一堆后台工作者。所有工作人员立即进入“IsBusy”状态,但是,只有 8 个工作人员同时通过他们的 DoWork 方法进行处理。
有没有办法一次性增加多少运行?
代码是这样产生后台工作人员的:
foreach (RESTObjectPrintFile t in printFilesList)
{
BackgroundWorker bgWorker = new BackgroundWorker();
bgWorker.DoWork += BgWorker_DoWork;
bgWorker.RunWorkerCompleted += BgWorker_RunWorkerCompleted;
bgWorkerList.Add(bgWorker);
bgWorker.RunWorkerAsync(t);
}
尝试以下方法
ThreadPool.SetMinThreads(20, 20);
同时查看这篇文章 http://www.albahari.com/threading/#_Optimizing_the_Thread_Pool
底部写着:
The default value is one thread per core.