我的代码中有两个锁 - lock1和lock2,我想给这两个锁定一个代码段,如下所示:
synchronized(lock1 || lock2) { // code }
这意味着如果lock1或lock2忙,则此代码段将等待,直到两个锁都空闲。我怎样才能做到这一点?谢谢。
你可以嵌套它们:
synchronized (lock1) { synchronized (lock2) { //code } }
有关嵌套锁定的可能风险,请参阅this answer。