我有一个Singleton类,该类具有一个获取锁的方法,所有线程在继续执行该方法之前都会调用该方法。并根据Redis密钥的值获取锁定(如果该值为1,则为否)。
我不需要同步此方法吗?
public long getLock(Item item) {
ValueOperations ops = template.opsForValue();
return ops.increment(item.getKey());
}
无论答案是(是/否),请说明原因。
由于redis增量操作,因此此方法看起来是线程安全的。
Redis增量操作本质上是原子的,并且一次执行一次Redis操作。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句