当一个线程使用 lock(object) 获取对象上的锁时,另一个线程可以在原始线程仍持有锁的情况下修改该对象吗?例如:
class SomeObject
{ // For illustration purposes only
public int a;
public string b;
}
SomeObject someObject = new SomeObject();
// Thread 1
lock(someObject)
{
.....
}
// 并发线程 2:
someObject.a = 10 // 当线程 1 锁定 someObject 时,这会起作用吗?