LockManager — идея и APIJAVA

Программисты JAVA общаются здесь
Anonymous
LockManager — идея и API

Сообщение Anonymous »

Я хочу разработать LockManager, который может блокировать множество переменных и избегать взаимоблокировок. Например, следующий фрагмент кода:

Код: Выделить всё

long amount = …

//two bank accounts
final BankAccount ba1 = ...
final BankAccount ba2 = ...
synchronized(ba1, ba2){
ba1.transfer(amount , ba2);
}
можно заменить на:

Код: Выделить всё

//two bank accounts
final BankAccount ba1 = ...
final BankAccount ba2 = ...

//synchronize bank accounts
final LockManager lockManager = …
synchronizer.synchronize(   ba1, LockMode.Write,
ba2, LockMode.Write,
new Transaction(){
@Override
public void execute() {
...
ba1.transfer(amount , ba2);
}

} );
Мне нужно ваше мнение об идее и предлагаемом API.

Подробнее здесь: https://stackoverflow.com/questions/207 ... ea-and-api

Вернуться в «JAVA»