0
我創建了一個的TaskScheduler,我傳遞它作爲跨兩個不同的任務參數。分享的TaskScheduler實例當中的幾個任務
這樣做有什麼問題嗎? 我應該爲每個任務創建一個新的TaskScheduler實例嗎?
這裏的樣品實例
var uiSch = System.Threading.Tasks.TaskScheduler.FromCurrentSynchronizationContext();
var t1 = Task.Factory.StartNew<List<Carrier>>(() =>
{
//does stuff
})
.ContinueWith(previous =>
{
//does stuff
},
System.Threading.CancellationToken.None,
TaskContinuationOptions.OnlyOnRanToCompletion,
uiSch);
var t2 = Task.Factory.StartNew<List<Logic.WarehouseLogic.Warehouse>>(() =>
{
//does stuff
})
.ContinueWith(previous =>
{
//does stuff
},
System.Threading.CancellationToken.None,
TaskContinuationOptions.OnlyOnRanToCompletion,
uiSch);
[EDIT1]
我的問題是部分與下面的錯誤(爲簡單起見移除了每個任務內部實際的代碼): 「當前的SynchronizationContext可以不使用作爲TaskScheduler' 可以找到一個修復程序here