如何在方法参数值上提供同步?
使用“相同”参数值A的所有方法调用都应该同步。即使使用A的调用已经在等待,具有不同参数值的方法调用(例如B)也可以访问。B的下一个并发调用还必须等待第一个B被释放。
我的用例:我想在ID级别上同步对JPA实体的访问,但要避免悲观锁定,因为我需要某种队列。用于锁定的“键”旨在作为实体ID-实际上是Java Long类型。
protected void entityLockedAccess(SomeEntity myEntity) {
//getId() returns different Long objects so the lock does not work
synchronized (myEntity.getId()) {
//the critical section ...
}
}
我阅读了有关锁定对象的信息,但不确定如何适合我的情况。在顶层,我想管理对执行关键代码的应用程序的特定REST调用。
慕姐4208626
慕村225694
相关分类