没有完全搞懂"一个事务对应一个连接" 望解答
当起多个线程 每个线程独自获取连接 去执行相同的事务方法 事务不能成功
这里错在哪里 望解答
[b]问题补充:[/b]
多谢wocsok的回答
还有个疑问 多个线程执行相同事务方法 共用一个连接 是不是就正确了
也就是多个逻辑事务,但只有一个数据库事务 不知道这么理解对不对
[b]问题补充:[/b]
多谢linliangyi2007过来回答
一个事务对应一个连接
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答
- wocsok 2009-12-07 11:17关注
事务大致分为两种 一种是数据库事务 一种是逻辑事务 一般咱们的逻辑事务也是由数据库事务控制的 所以 开始事务是由这个数据库连接操纵数据库事务来开启的 关闭也是这个原理
当多个线程 用多个数据库连接同时访问一张数据库表的时候 数据库都是设置数据库隔离级别的 也就是说 要是在串行化的情况下 一个人正访问者这个数据 其他人根本就访问不了 因为这条数据已经被正在访问的这个人锁定住了
我们必须要保证并发的一致性 也就是说 如果我获得的连接 别人也能获得 在我提交之前 但是别人也用这个连接先提交了 那么我再次提交的话 会覆盖别人的提交的 所以要保证一个事务里的连接只有一个人用 而且一个事务只对应一个连接 这样才能保证事务的原子性 隔离性 一致性 和持久性本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报