增加c# For循环的线程数

本文关键字:线程 循环 For 增加 | 更新日期: 2023-09-27 18:17:13

我希望能够在for循环中使用更多的线程。

为什么呢?因为每个循环都在运行进程,它需要等待退出。目前,它似乎甚至没有接近100%我的CPU,看看性能,大部分的东西是从等待进程。

我的代码现在差不多是这样的:

                    Parallel.For(0, count, i =>
                {
                   ........
                });

所有东西都是同步的,所以每个线程运行多少并不重要。它们在运行过程中不需要同步数据,所以在这方面它是免费运行的。

谢谢。编辑:

好吧,我试着寻找到底是什么让它慢。由于某些原因,它确实占用了CPU,它只是没有显示它,可能是因为它正在运行"控制台窗口主机"?

在这种情况下,限制确实是CPU,该死的_-。但是,为什么它不是一个正常的过程呢?

基本上是:

    using (Process pRocess = new Process())
   {
      pRocess .StartInfo.Filename = "somefile.exe";
       work work and also, maybe more work.
        pRocess.WaitForExit();
   }

增加c# For循环的线程数

也许你的意思是

Parallel
   .For(0, 10, new ParallelOptions() {MaxDegreeOfParallelism = 10}, 
   i =>{ Console.WriteLine(Thread.CurrentThread.ManagedThreadId); });

,但注意,这不是线程数。更多信息在这里https://msdn.microsoft.com/en-us/library/system.threading.tasks.paralleloptions.maxdegreeofparallelism%28v=vs.110%29.aspx?f=255&MSPPError=-2147217396