你的位置:首页 > 软件开发 > ASP.net > 基础才是重中之重~ConcurrentDictionary让你的多线程代码更优美

基础才是重中之重~ConcurrentDictionary让你的多线程代码更优美

发布时间:2015-03-17 13:03:16
回到目录ConcurrentDictionary是.net4.0推出的一套线程安全集合里的其中一个,和它一起被发行的还有ConcurrentStack,ConcurrentQueue等类型,它们的单线程版本(线程不安全的,Queue,Stack,Dictionary)我们一定不会 ...

回到目录

ConcurrentDictionary是.net4.0推出的一套get='_blank'>线程安全集合里的其中一个,和它一起被发行的还有ConcurrentStack,ConcurrentQueue等类型,它们的单线程版本(线程不安全的,Queue,Stack,Dictionary)我们一定不会陌生,可以说是经常用到,一个类的实例里,有个属性是个字典,我们不加考虑的会用Dictionary,而当这个属性被提升为static静态的(类级别的)时候,我们就要考虑它的线程安全性了,因为它有可能被多个线程同时访问,当然,如果这个对象是只读的,也无所谓线程安全,但如果这个属性是可以被写的,那就需要把它加锁了,这代码我们经常看到:

lock(obj){_dic[key]=value;}
如果你之前的方法用的都是Dicationary的,那修改也方便,只要利用适配器模式,把它加工一下即可

 private readonly static ConcurrentDictionary<string, T> _dic;

原标题:基础才是重中之重~ConcurrentDictionary让你的多线程代码更优美

关键词:线程

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。