我希望能夠在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