使用映射将字符串与锁定对象相关联:
Map<String, Object> locks = new HashMap<String, Object>();
locks.put("a", new Object());
locks.put("b", new Object());
// etc.
然后:
public void doSomething(String name){
synchronized(locks.get(name)) {
// ...
}
}
Java根据参数进行同步(名为互斥锁)
使用映射将字符串与锁定对象相关联:
Map<String, Object> locks = new HashMap<String, Object>();
locks.put("a", new Object());
locks.put("b", new Object());
// etc.
然后:
public void doSomething(String name){
synchronized(locks.get(name)) {
// ...
}
}