我创建了一个分布式锁类,我设计成这样使用:
myLock.lock();
doSomething();
myLock.unlock();
在我当前的实现中,lock() 会阻塞,直到获得锁为止。但是我在这个实现中遇到了一些死锁问题。所以我想将它重写为异步的,但我不知道如何在 java 中做到这一点。
我认为这样的事情会起作用:
myLock.lock(myCallbackFunction);
private void myCallbackFunction(boolean result){
if(result){
doSomething();
mylock.Unlock();
}
}
有没有办法在java中做到这一点?
编辑(更详细):同步实现死锁的原因很复杂且不相关。分布式锁是通过具有多个系统的网络获取资源的互斥。实际上,我唯一要寻找的是如何编写一个接受回调函数的方法。