繁体   English   中英

ConcurrentBag如何更改对象属性

[英]ConcurrentBag how to change object property

我有一个属性的QueueItem对象。 我需要在ConcurrentBag列表中找到它并更改它的值。 怎么做?

QueueItemList = new ConcurrentBag<QueueItem>()

我可以像这样使用linq在ConcurrentBag中查询对象

MyItem =  QueueItemList.Where(match);
MyItem.Status = changeThis;

但是这个线程安全吗?

Where操作或任何其他收集操作是线程安全的,例如,如果不是线程安全的,则如果任何人同时更改了其他线程中的项目计数,但是更改Status属性是,则Where操作中可能会出错。与集合无关,并且不是线程安全的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM