Взгляните на описание пакета java.util.concurrent в JDK, возможно, там вы найдете подходящий синхронизатор primitibe. Информации в вашем вопросе недостаточно, чтобы дать более конкретный ответ.
Один простой подход (но, возможно, не самый эффективный) состоит в том, чтобы использовать 'uberLock' для защиты всех необходимых блокировок, например ::100100
private final Lock uberLock = new ReentrantLock();
void lockAll() {
uberLock.lock();
try {
// call lock() on all needed locks
} finally {
uberLock.unlock();
}
}