我必须使用匿名方法来组织线程安全地从集合中删除项目。这样的事情。
...
lock(this.set)
{
...
this.set.Add(item);
action(()=>{
lock(this.set)
{
this.set.Remove(item);
}
});
}
...
届时,匿名方法可能会从另一个线程执行。锁运算符的这种方法正确吗?这里有一些我需要考虑的即兴演奏吗?
提前致谢。
最佳答案
但是,这将起作用,您是否已查看.NET 4中的ConcurrentCollections?它们是内部线程安全的