我希望能够在for循环中使用更多的线程。增加线程数量for循环C#?
为什么是因为每个循环都运行它需要等待退出的进程。 目前它似乎并没有接近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();
}
什么是进程本身在等待?它可能不是CPU ... –
更多的线程并不意味着更快,你可能会更快与4-8线程比1000. – mybirthname
投掷更多的线程在一个问题是从来没有正确的方式来解决上述问题。 – Brandon