synchronized和@Transactional的平衡关系
一、如果synchronzied关键字加到service类的方法中,出现商品超买的情况。原因:transactional事务这块也有线程同步synchronzied也会有线程同步事务的范围要比线程同步的范围大synchronzied代码块结束后,事务可能没有结束,线程把锁释放了,但事务还没有结束,事务还没提交,此时下一个线程来了,来了之后,此时事务开始提交,然后下一个线程开始执行了,执行的时候,数据库也跟着提交了。二、synchronized放在调用处(控制层)的代码块上,这样能避免商口超买的
原创
2021-12-30 10:42:57 ·
3816 阅读 ·
0 评论