使用@Transactional注解在并发情况下事务是什么时候提交的事务?

使用@Transactional注解在并发情况下事务是什么时候提交的事务?

老师您好!还有有些没有理解为什么方法上已经添加了synchronized关键字,并且使用@Transactional注解还会造成并发情况下超卖问题。

为什么其中1个线程已经执行完了方法,会有没有执行完事务的情况,这个事务是什么时候提交的?

按照我的理解执行完方法了就会把事务提交啊

请老师帮忙解答一下

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
凌波微步 2020-04-24 08:13:34

synchronized 是和方法一起声明的,方法执行完,锁就释放;

@Transactional 是方法的注解,方法执行完提交事务,但是 提交事务 晚于 释放锁。

第二个线程在 释放锁后,提交事务前, 进入了方法,查询的数据还是  事务提交之前的。

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师