我在想,如果
synchronize (lock) {
...
}
当锁的一个实例java.util.concurrent.locks.Lock
,对待lock
像任何其他对象或作为尝试,终于成语即
lock.lock();
try {
...
} finally {
lock.unlock();
}
我在想,如果
synchronize (lock) {
...
}
当锁的一个实例java.util.concurrent.locks.Lock
,对待lock
像任何其他对象或作为尝试,终于成语即
lock.lock();
try {
...
} finally {
lock.unlock();
}
锁定文档 :
需要注意的是锁实例只是普通的对象,其本身可以在synchronized语句作为目标。 获取Lock实例的监视器锁定与调用任何锁定的()的实例的方法没有特定的关系。 建议为了避免混淆,你从来不使用锁定实例以这种方式,除了其自身的实现中。
所以基本上,它会被视为任何其他对象。 而且,不这样做。
它将把锁就像任何其他对象。
在C#编程语言中的lock语句可应用于限制在同一时间访问特定的代码部分,只有一个线程。