Java围绕锁同步语句

时间:2009-06-25 20:49:29

标签: java multithreading synchronization locking

我想知道是否

synchronize (lock) {
    ... 
}

其中lock是java.util.concurrent.locks.Lock的一个实例,将lock视为任何其他对象或try-finally成语,即

 lock.lock(); 
 try {
     ... 
 } finally { 
    lock.unlock();
 }

3 个答案:

答案 0 :(得分:13)

Lock documentation

  

请注意,Lock实例只是   正常的对象,可以自己   用作同步中的目标   声明。获取显示器锁定   一个Lock实例没有指定   与调用任何一个的关系   该实例的lock()方法。它是   建议避免混淆   你永远不会在这里使用Lock实例   方式,除了他们自己   实施

所以基本上,它被视为任何其他对象。并且,不要那样做。

答案 1 :(得分:3)

它将像任何其他对象一样对待锁。

答案 2 :(得分:-1)

可以应用C#编程语言中的lock语句,一次只能将对特定代码部分的访问限制为一个线程。