我想知道如果
synchronize (lock) {
...
}其中lock是java.util.concurrent.locks.Lock的实例,将lock视为任何其他对象或作为try-finally习惯用法。
lock.lock();
try {
...
} finally {
lock.unlock();
}发布于 2009-06-25 20:51:18
Lock documentation
请注意,锁实例只是普通对象,它们本身可以用作同步语句中的目标。获取lock实例的监视器锁与调用该实例的任何lock()方法没有指定的关系。为了避免混淆,建议不要以这种方式使用Lock实例,除非在它们自己的实现中。
因此,基本上,它被视为任何其他对象。还有,别这么做。
发布于 2009-06-25 20:51:35
它会像对待任何其他对象一样对待锁。
发布于 2011-08-07 16:39:28
C#编程语言中的lock语句可用于将对代码的特定部分的访问限制为一次只能访问一个线程。
https://stackoverflow.com/questions/1046193
复制相似问题