-1

次の続きを考えてみましょう。

Task.Factory.StartNew(()=>
{
    MethodA();
})
.ContinueWith((t)=>
{
    MethodB();
})
.ContinueWith((t)=>
{
    MethodC();
});

私が知っているように、実行は次のようになります。

  1. MethodA実行します。
  2. MethodB完了後に実行されMethodAます。
  3. MethodC完了後に実行されMethodBます。

MethodC完了後に を続行したい場合MethodA( を待つのではなくMethodB)

タスク変数を手動で宣言する以外の解決策を探しています。代わりに、流暢なファクトリによるメソッド シーケンスを使用したいと考えています。

4

1 に答える 1

2

MethodBとの別のタスクを開始して、完了MethodC後にそれらが並行して実行されるようにすることができます。MethodA

Task.Factory.StartNew(()=>
{
    MethodA();
})
.ContinueWith((t)=>
{
    Task.Factory.StartNew(() => {
        MethodB();
    });

    Task.Factory.StartNew(() => {
        MethodC();
    });
});
于 2013-09-14T13:37:35.610 に答える