【发布时间】:2013-12-11 10:22:51
【问题描述】:
我拥有的集合对象是单例类型,它包含一个特定对象的列表,列表中的每个索引由多个线程读取,以便它们可以查询一个线程局部变量要使用的整数属性值.在我看来,这种情况是否需要使用同步的任何安全性?不,但发布问题是为了加倍确定。
上面提到的对象在多个线程上没有发生更新,它们只是在读取。在我看来,甚至不需要在这里使用 ReaderWriterLockSlim,因为没有写入。请确认我的理解。
代码类似于:
这里的 NumOfLocs,threadProp 是特定于一个线程和集合计数和对象不会改变,而线程正在读取,它们只是在初始化期间在开始时固定
int NumOfLocs = collectionObject.LocCollection.Count;
int threadProp = collectionObject.LocCollection[index].Prop
【问题讨论】:
-
如果你只是阅读(如果你不会在阅读时更改它)那么不需要
-
那么你要做的就是在你的程序加载时创建一次这个数据,然后从这个数据结构中读取?
-
LocCollection是什么类型? FCL 集合(位于System.Collections和System.Collections.Generic)对于读取是线程安全的。
标签: c# .net multithreading