TaskSchedulerを作成し、2 つの異なるタスク間で引数として渡しています。
やっても問題ないですか?タスクごとに新しい 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);
[編集1]
私の質問は、次のエラーに部分的に関連していました:「現在の SynchronizationContext は、TaskScheduler として使用されていない可能性があります」