JAVA如何给同一代码段提供两个锁定?

时间:2019-02-15 04:01:06

标签: java locking synchronized

我有两个锁-我的代码中有lock1和lock2,我想给这两个锁一个代码段,如下所示:

synchronized(lock1 || lock2) {
    // code
}

这意味着如果lock1或lock2忙,则此代码段将等待,直到两个锁都释放为止。我怎样才能做到这一点?谢谢。

1 个答案:

答案 0 :(得分:1)

您可以嵌套它们:

synchronized (lock1) {
    synchronized (lock2) {
        //code
    }
}

有关嵌套锁定的潜在风险,请参见this answer

相关问题