Каков наилучший способ предотвратить одновременное обновление одной записи в наборе ключевых значений без блокировки всего набора? Семантически, я ищу некоторую блокировку ключом (в идеале, реализацией Java, но не обязательно):
interface LockByKey {
void lock(String key); // acquire an exclusive lock for a key
void unlock(String key); // release lock for a key
}
Эта блокировка предназначена для синхронизации доступа к удаленному хранилищу, поэтому некоторая синхронизированная коллекция Java не является вариантом.