spring - mysql中事务是互斥的么?
高洛峰
高洛峰 2017-04-17 15:41:01
[MySQL讨论组]

分别在不同的线程调用同一个带事务的方法,那么这两个方法的执行时互斥的么,即一个方法必须要等另一个方法操作完么?

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(3)
PHP中文网

这个取决于数据库的隔离级别。两个事务不互相影响就没有必要互斥啊。

ISO 标准定义了下列隔离级别,SQL Server 数据库引擎支持所有这些隔离级别:

  • 未提交读(隔离事务的最低级别,只能保证不读取物理上损坏的数据)

  • 已提交读(数据库引擎的默认级别)

  • 可重复读

  • 可序列化(隔离事务的最高级别,事务之间完全隔离)

高洛峰

当发生了当前读,都会对相应的行加上排它锁,并且在事务结束以后释放锁

  1. 两次操作事务有对相同的行加排它锁,其中一个线程就需要等待另外一个线程事务提交才能继续执行程序

  2. 两次操作事务并没有有对相同的行加排它锁的,两个线程相互不影响

天蓬老师

这首先和你操作的数据有关系,如果操作的数据连个交集都没有,就是并行的,如果有交集,还跟数据库的事物隔离级别又关系,这里面东西就多了,你可以查查。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号