java LockManager思想和API
我想开发一个锁管理器,它可以锁定许多变量,避免死锁。例如,下面的代码:
长金额=
//two bank accounts
final BankAccount ba1 = ...
final BankAccount ba2 = ...
synchronized(ba1, ba2){
ba1.transfer(amount , ba2);
}
可替换为:
<!-- language: java -->
//two bank accounts
final BankAccount ba1 = ...
final BankAccount ba2 = ...
//synchronize bank accounts
final LockManager<Object> lockManager = …
synchronizer.synchronize( ba1, LockMode.Write,
ba2, LockMode.Write,
new Transaction<Object>(){
@Override
public void execute() {
...
ba1.transfer(amount , ba2);
}
} );
我需要你对这个想法和提议的API的意见
感谢您的反馈,并致以最诚挚的问候
安德烈
共 (0) 个答案