2011-03-16 102 views

回答

2

看來你應該儘量限制線程的數量與訪問該資源,而不是線程的總數,這可以通過鎖定或機票

完成
+0

很好的建議,謝謝 – DeveloperInToronto 2011-03-17 12:06:27

0

是的,微軟有這樣的要求,即線程的數量不能小於處理器的數量。更多信息here

我很想知道爲什麼Microsoft有這樣的要求?它應該是無害的不是嗎?這個要求沒有意義...

0

剛剛試過這個,這個「要求」似乎是不正確的。我相信它只是默認將MinThreads設置爲機器中的核心數量。 如果我這樣做:

ThreadPool.SetMinThreads(1, 1); 
ThreadPool.SetMaxThreads(2,2); 

一個四核機器上,它似乎正確地扼殺線程執行,如果我離開了SetMinThreads稱,雖然,它忽略了我的電話,以SetMaxThreads(因爲你不能設置MaxThreads少比MinThreads(這是默認的核心數量))