簡體   English   中英

修改並發包中的項目 + C#

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

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