0
私はparallel.foreachとasyncの組み合わせに問題があります。私の問題は、私はすべてのジョブを完了したループの確認することができる方法で、今C# - Parallel.ForEachとAsyncの組み合わせ
new Thread(() =>{
//doing some stuff here
Parallel.ForEach(.....,ParallelOption,async(j,loopState) =>
{
//await some stuff here like:
// HttpResponseMessage res = await httpClient.GetAsync(url);
// UpdateUI
}
}).Start();
- ここに は私のコードですか?それはほんの数秒で終了しますが、UIUpdateはずっと時間がかかります。 await httpClient.GetAsync(url)
が完了してUIを更新するのを待つ方法はありますか?
あなたは同期していないと言っていますか? –
@AsthaSrivastava、彼は、 'Parallel.ForEach'はループ本体によって開始されたすべてのタスクが完了する前に完了すると言っています。これはよく知られている問題です。 'Parallel.ForEach'は' async'デリゲートで動作するようには設計されていません。 –
@KirillShlenskiyまさに、どうすればいいのですか?別の道か何かのエスル?ありがとう。 – Mahdi