我有两个锁-代码中的lock1和lock2,我想给这两个锁一个代码段,如下所示:
synchronized(lock1 || lock2) {
// code
}
这意味着如果lock1或lock2忙,则此代码段将等待,直到两个锁都释放。我怎样才能做到这一点?谢谢。
最佳答案
您可以嵌套它们:
synchronized (lock1) {
synchronized (lock2) {
//code
}
}
有关与嵌套锁定相关的可能风险,请参见this answer。
关于java - JAVA如何给同一代码段提供两个锁定?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54702511/