簡體   English   中英

完成添加后,GetConsumingEnumerable()塊

[英]GetConsumingEnumerable() blocks after completing of adding

我對帶有ID的某些集合進行了異步處理。 下面的簡化代碼

Task.Factory
        .StartNew(() => {
            foreach (long id in ids.GetConsumingEnumerable())
            {
              //processing code here
            }
        });

另一個在特定條件后在ids上調用CompleteAdding的線程。 但是之后,工作線程仍然被阻塞。 確切地說,工作線程in foreach語句的in運算符上阻塞。

我該如何解決? 任何幫助表示贊賞。

嘗試這個

var local = ids.GetConsumingEnumerable();
Task.Factory
        .StartNew(() => {
            foreach (long id in local)
            {
              //processing code here
            }
        });

暫無
暫無

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

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