6

Task.Factory.StartNew複数のステートメントを並行して実行できるかどうか教えてください。

このようなもの

var task = Task.Factory.StartNew<List<AccessDetails>>(() => this.GetAccessListOfMirror(mirrorId, null,"DEV"));
var task1 = Task.Factory.StartNew<List<AccessDetails>>(() => this.GetAccessListOfMirror(mirrorId, null, "PROD"));

もしそうなら。ステートメントの出力を取得して使用する方法。

私は以前に以下のようなステートメントを使用しました。スレッドから出力を取得するまでアプリケーションが待機する場所。

var task = Task.Factory.StartNew<List<AccessDetails>>(() => this.GetAccessListOfMirror(mirrorId, null,"DEV"));
return (List<AccessDetails>)task.ContinueWith(tsk => accdet = task.Result.ToList()).Result;
4

2 に答える 2

1

複数のタスクを簡単に実行できます

タスク結果MSDNの例を使用できます

結果を保持できるオブジェクトを作成してタスクに渡し、次のように更新できます

MyResultObeject res = new MyResultObject 
var task = Task.Factory.StartNew<List<AccessDetails>>(() => this.GetAccessListOfMirror(res,mirrorId, null,"DEV"));

タスクが終了したかどうかを確認することを忘れないでください

于 2013-05-02T07:52:02.857 に答える