簡體   English   中英

C#-Parallel.ForEach和異步組合

[英]C# - Parallel.ForEach and Async combination

我對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();

現在,我的問題是如何確定循環已完成所有作業? 它只是在幾秒鍾內結束,但是UIUpdateing將繼續更多時間。 如何等待await httpClient.GetAsync(url)完成然后更新UI?

對多個任務使用異步/等待

return Task.WhenAll(ids.Select(i => DoSomething(1, i, blogClient)));

我不知道您的實際循環代碼中有什么。 如果您提出更多建議,我可以做得更具體。 基本上,盡管您使用WhenAll等待所有的ascnc任務

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM