[英].NET Dictionary: is only enumerating thread safe?
简单地从多个线程枚举一个.NET字典是否安全?
根本没有修改词典。
是的,在这种情况下,枚举是线程安全的,因为在foreach
循环开始时,枚举器的新实例是通过对GetEnumerator
的隐式调用创建的。
是的......差不多:
字典<(Of <(TKey,TValue>)>)可以同时支持多个读者,只要不修改集合即可。 即便如此,通过集合枚举本质上不是一个线程安全的过程。 在枚举与写访问争用的极少数情况下,必须在整个枚举期间锁定该集合。 要允许多个线程访问集合以进行读写,您必须实现自己的同步。
( 参考 )
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.