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

时间:2021-02-08 09:37:47

标签: c# .net backgroundworker

我正在编写一个 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);
      }

1 个答案:

答案 0 :(得分:1)

试试下面的方法

ThreadPool.SetMinThreads(20, 20);

另请查看这篇文章 http://www.albahari.com/threading/#_Optimizing_the_Thread_Pool

底部写着:

<块引用>

默认值为每核一个线程。