Код: Выделить всё
public void add(String param1, String param2) {
// do something
}
public void clear() {
// do something else
}
Я хочу, чтобы функция clear () синхронизировалась на каждом блокировании (может запустить только при add () new Object());
synchronized (lock) {
// do something
}
}
[/code]
Тем не менее, я не могу найти способ разрешить только clear () при выпуске всех замков. Естественно, я попытался поместить непосредственные блокировки или locks.values () в синхронизированный, как объект монитора, но не работал.
это возможно? Или есть альтернативы?
Для получения подробной информации, действие add () - положить (если отсутствует) пары ключей/значения на два concurrentmaps, а действие clear () - опустошить оба карты. Я хочу избежать случая, когда clear () umpted обе Map, в то время как add () только что закончил один из них и запускает следующий.>
Подробнее здесь: https://stackoverflow.com/questions/797 ... or-objects