有没有办法,而不是锁定一个对象,向访问它的人显示它的临时副本?
问问题
64 次
2 回答
2
使用 TransactionScope 包装使用该对象的代码,该对象在您的情况下是关键资源,并将 IsolationLevel 设置为 Snapshot。
这样,任何试图访问同一对象的人都应该在编辑对象之前看到该值,直到事务完成。
于 2013-03-01T14:29:17.767 回答
0
如果使用volatile修饰符,则可以避免临时副本。
系统总是在请求时读取 volatile 对象的当前值,即使之前的指令要求来自同一对象的值。此外,对象的值在赋值时立即写入。volatile修饰符通常用于被多个线程访问而不使用lock语句序列化访问的字段。使用 volatile 修饰符可确保一个线程检索另一个线程写入的最新值。
于 2013-03-01T14:34:19.737 回答