最近NDCロンドンでジョンスキートは約C#5の非同期/待つと「完了によって発注」非同期タスクのリストのアイデアを提示スポーク。リンクhttp://msmvps.com/blogs/jon_skeet/archive/2012/01/16/eduasync-part-19-ordering-by-completion-ahead-of-time.aspx非同期代表団とParallel.ForEach対OrderByCompletion(ジョンスキート)を使用する
私はちょっと混乱していますが、私はいつこのテクニックを使うのが適切かはわかりません。
スティーブンToubによって説明したように、私はこれと例えば以下
var bag = new ConcurrentBag<object>();
Parallel.ForEach(myCollection, async item =>
{
// some pre stuff
var response = await GetData(item);
bag.Add(response);
// some post stuff
}
又はForEachAsyncの違いを理解することはできません - http://blogs.msdn.com/b/pfxteam/archive/2012/03/05/10278165.aspx
EDIT:をからblog postを発見Stephen Toub「完了による注文」の説明< => "完了したタスクの処理"。読む価値があります。これを読んだ後、私はそれがどのように動作するのか、いつこの技術を使うのかを明確に理解することができました。
'Parallel.ForEach'はすでにマルチスレッド用です。 –