【发布时间】:2012-08-14 18:57:41
【问题描述】:
我有一个数组,它代表一个库存,有近 50 个元素(项目:一些服装对象),我需要一个 readerwritelock (好吧,我认为一个简单的锁也足够了)。它应该支持引用更改和值更改。
由于读取和写入数组的不同位置是线程安全的 (Proof) 我想确保对同一数组位置的多个读取/写入操作也是线程安全的。
我当然可以创建 50 个 readerwriterlocks,但我不希望那样 ;) 有没有办法存档这个? (我知道 ConcurrentList/Dictionary/etc. 但我想要一个数组...)
谢谢
【问题讨论】:
-
数组的底层元素类型是什么?这很重要。
-
k;现在,当您写信给它时,您是否更改了references?或者你正在改变 objects ?即是
arr[12] = newObj;吗?还是arr[12].Foo = "abc";? -
视情况而定。两者都应该支持。
标签: c# multithreading locking