@Transactional是使用了Sping AOP 实现的;
Synchronized只是锁当前代码块,当执行完Synchronized包含的代码块就已经执行完了;此时@Transactional还未提交!!!
所以在并发条件下,上个事务还未提交的时候新的线程就已经可以进来了!!
要是使用的话,请用Synchronized包含所在的@Transactional方法即可;不然回出现并发问题!!!
特此谨记2020/11/29
本文探讨了Spring框架中@Transactional注解与Synchronized在并发条件下的行为差异,强调了在高并发场景下使用@Transactional时确保方法同步的重要性,以防并发问题发生。
@Transactional是使用了Sping AOP 实现的;
Synchronized只是锁当前代码块,当执行完Synchronized包含的代码块就已经执行完了;此时@Transactional还未提交!!!
所以在并发条件下,上个事务还未提交的时候新的线程就已经可以进来了!!
要是使用的话,请用Synchronized包含所在的@Transactional方法即可;不然回出现并发问题!!!
特此谨记2020/11/29
528

被折叠的 条评论
为什么被折叠?