的MSDN指出該方法,如果該方法是成功 返回當ThreadPool.QueueUserWorkItem返回false
真排隊;如果工作項未排隊,則NotSupportedException爲 。
用於測試目的如何獲取返回方法false
?或者它只是一個「次優」的課堂設計?
的MSDN指出該方法,如果該方法是成功 返回當ThreadPool.QueueUserWorkItem返回false
真排隊;如果工作項未排隊,則NotSupportedException爲 。
用於測試目的如何獲取返回方法false
?或者它只是一個「次優」的課堂設計?
在看着反射器的源代碼,似乎可以返回「假」的代碼只有部分是下面的電話:
[MethodImpl(MethodImplOptions.InternalCall)]
private static extern bool AdjustThreadsInPool(uint QueueLength);
這可能是「保留供將來使用」的情況。你可能想把它當作失敗,但這將很難測試。
我幾乎把這個方法當作void/Sub。
當任務並行庫(TPL)到達時,可以想象到整個API(線程池)變得過時。
true,如果該方法被成功排隊;如果工作項未排隊,則會引發NotSupportedException。
以與您對待NotSupportedException
相同的方式對待return false
。
要使它返回false,請使用模擬方法或對象。
你想測試你自己寫的代碼,而不是基礎的windows代碼。我確信微軟已經有很多自己的測試了。
例外實際上是「發明」,以防止「忽略返回值」的做法。 – 2008-10-01 21:45:45
+1:我喜歡「suboptimal」形容詞:) – 2013-01-09 14:26:07