【发布时间】:2014-03-31 22:04:23
【问题描述】:
在这个 PostSharp Multithreading 示例中,它在清单 6 中声明:
任何修改对象的方法都应该用 [WriteLock] 自定义属性。读取多个领域的方法 该对象还应该使用 [ReadLock] 自定义注释 属性。 (同步方法或属性getter是没用的 执行单次读取访问,因为操作总是 一致。)
同步执行单个读取访问的方法或属性 getter 是什么意思?这仅适用于字符串、int、float 等简单的原语,还是也适用于结构?或者这是一个误导性的陈述?
【问题讨论】:
-
这有点误导 - 据我了解,假设阅读是安全的,单次阅读是可以的。如果您有对象,则其中一些值取决于他的其他值,当读取超过 1 个属性时 - 需要添加上述属性。但这是我.....
-
据我了解,他们说他们的对象不是线程安全的,因此您必须自己使用读取器和写入器锁进行同步。
标签: c# multithreading synchronization postsharp