增加一次处理的后台工作人员数量

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.