2010-01-03 114 views

回答

0

還沒有找到任何解決方案。改用默認的ThreadPool。

1

你能指定在RX中使用TaskFactory嗎?如果是這樣,您可以創建一個具有適當併發級別的TaskScheduler。目前我不明白是否有「股票」調度程序允許這樣做,或者它是否被隱藏(Parallel LINQ當然提供「最大併發」選項),但這是總體規劃。

當然,如果你不能改變工廠正在使用哪個任務,這沒有多大幫助。

+0

如何創建新的TaskScheduler?通過繼承默認的'TaskScheduler'來實現嗎? – 2010-01-03 21:19:20

+0

Inherting默認的TaskScheduler很糟糕,因爲幾乎所有東西都是私有的;我不覺得重寫整個調度程序部分。 – 2010-01-03 21:23:05

+1

@Jan:您需要做的就是覆蓋MaximumConcurrencyLevel屬性:http://msdn.microsoft.com/en-us/library/system.threading.tasks.taskscheduler.maximumconcurrencylevel(VS.100).aspx – 2010-01-03 21:26:57