假设我有以下代码
Rectangle rect = new Rectangle();
lock(rect)
{
----
---
---
}
当一个线程获得锁定并在临界区执行时,可以在某个其他线程中修改rect对象或其属性。
答案 0 :(得分:2)
可以在其他对象中修改rect对象或其属性 线程,当一个线程获得锁定并执行时 关键部分。
如果访问该对象的所有代码首先尝试获取相同的锁,则为No。
没有锁定代码包装器,那么是另一个线程可以(并且在某些时候)写入rect
并且结果不一致。