我是这样理解的,事务针对的是一个数据库连接或是一个线程内的不同操作,要么全部完成要么全部失败,而同步锁是针对多个连接或多个线程来说的,这个是由隔离级别保证的
[quote=引用 楼主 z1214178827 的回复:] 我看网上好多都是有了事务管理,却还用同步锁保证并发不出错。事务使用数据库自带的锁,可以锁住表,避免出现不可重复读、脏读和幻读。对于存在于事务中的 { //获取用户select //删除用户 } 为什么还要用synchronied保证不会删除不存在的用户呢呢?
我看网上好多都是有了事务管理,却还用同步锁保证并发不出错。事务使用数据库自带的锁,可以锁住表,避免出现不可重复读、脏读和幻读。对于存在于事务中的 { //获取用户select //删除用户 } 为什么还要用synchronied保证不会删除不存在的用户呢呢?
62,621
社区成员
307,251
社区内容
加载中
试试用AI创作助手写篇文章吧