@Transactional(isolation=Isolation.SERIALIZABLE)public String modifyStock(){查询库存thread.sleep(10*1000);
修改库存}多线程访问这个方法的时候,线程1查询完库存后进入休眠,线程2查询完库存后进入休眠,线程1休眠结束执行修改库存,线程2休眠结束执行修改库存,线程2报获取锁失败。为什么线程2在查询库存的时候没有报获取锁失败,不是加了SERIALIZABLE锁吗?
认证0级讲师
쿼리할 때 잠금이 없어야 한다고 생각하는데, 트랜잭션을 제출할 때 대기열에 넣고 트랜잭션을 제출하는 논리가 반영됩니다
쿼리할 때 잠금이 없어야 한다고 생각하는데, 트랜잭션을 제출할 때 대기열에 넣고 트랜잭션을 제출하는 논리가 반영됩니다