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