検索

ホームページ  >  に質問  >  本文

java - spring boot 事务管理问题求解答

@Transactional(isolation=Isolation.SERIALIZABLE)
public String modifyStock(){
查询库存
thread.sleep(10*1000);

修改库存
}多线程访问这个方法的时候,线程1查询完库存后进入休眠,线程2查询完库存后进入休眠,线程1休眠结束执行修改库存,线程2休眠结束执行修改库存,线程2报获取锁失败。为什么线程2在查询库存的时候没有报获取锁失败,不是加了SERIALIZABLE锁吗?

PHP中文网PHP中文网2804日前858

全員に返信(1)返信します

  • 高洛峰

    高洛峰2017-04-18 10:25:19

    クエリ時にロックがないはずだと思いますが、トランザクションをキューイングして送信するロジックはトランザクションが送信されるときに反映されます

    返事
    0
  • キャンセル返事