[英]modifying items in a concurrentbag + C#
我將一組對象保存在並發包中。 根據收到的輸入,我想修改這些對象。 如何才能做到這一點? 我不能使用 trytake,因為它正在刪除該項目。 我不確定 trypeek 是否會遍歷該集合。 OTOH,將項目復制到數組將不起作用,因為那時對象是只讀的。 請幫忙
你不能就地修改項目,你必須把它們拿出來,修改它們,然后再放回去。
我認為您必須推出自己的線程保存集合。 TryPeek 返回一個項目,但絕不確保沒有其他線程修改它。
也沒有線程安全的迭代。
見這里: http://www.codethinked.com/net-40-and-system_collections_concurrent_concurrentbag
hth
馬里奧
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.