在不锁定整个集合的情况下,防止在键值集中并发更新一个记录的最佳方法是什么?从语义上讲,我正在寻找某种键的锁定(理想情况下,Java实现,但不一定):
interface LockByKey {
void lock(String key); // acquire an exclusive lock for a key
void unlock(String key); // release lock for a key
}
Run Code Online (Sandbox Code Playgroud)
此锁用于同步对远程存储的访问,因此某些同步Java集合不是一个选项.