[英]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.