由於微軟可能殺死了並行擴展CTP的所有下載鏈接,我完全失去了。反應式擴展/並行擴展中的最大線程數
我想指定在特定時間運行的任務的最大數量,因爲我想要比處理器更多的線程。任何線索如何在RX中做到這一點?
由於微軟可能殺死了並行擴展CTP的所有下載鏈接,我完全失去了。反應式擴展/並行擴展中的最大線程數
我想指定在特定時間運行的任務的最大數量,因爲我想要比處理器更多的線程。任何線索如何在RX中做到這一點?
還沒有找到任何解決方案。改用默認的ThreadPool。
你能指定在RX中使用TaskFactory
嗎?如果是這樣,您可以創建一個具有適當併發級別的TaskScheduler
。目前我不明白是否有「股票」調度程序允許這樣做,或者它是否被隱藏(Parallel LINQ當然提供「最大併發」選項),但這是總體規劃。
當然,如果你不能改變工廠正在使用哪個任務,這沒有多大幫助。
如何創建新的TaskScheduler?通過繼承默認的'TaskScheduler'來實現嗎? – 2010-01-03 21:19:20
Inherting默認的TaskScheduler很糟糕,因爲幾乎所有東西都是私有的;我不覺得重寫整個調度程序部分。 – 2010-01-03 21:23:05
@Jan:您需要做的就是覆蓋MaximumConcurrencyLevel屬性:http://msdn.microsoft.com/en-us/library/system.threading.tasks.taskscheduler.maximumconcurrencylevel(VS.100).aspx – 2010-01-03 21:26:57