epanthere 2009-12-07 10:28
浏览 1681
已采纳

一个事务对应一个连接

没有完全搞懂"一个事务对应一个连接" 望解答
当起多个线程 每个线程独自获取连接 去执行相同的事务方法 事务不能成功
这里错在哪里 望解答
[b]问题补充:[/b]
多谢wocsok的回答

还有个疑问 多个线程执行相同事务方法 共用一个连接 是不是就正确了
也就是多个逻辑事务,但只有一个数据库事务 不知道这么理解对不对
[b]问题补充:[/b]
多谢linliangyi2007过来回答

  • 写回答

2条回答 默认 最新

  • wocsok 2009-12-07 11:17
    关注

    事务大致分为两种 一种是数据库事务 一种是逻辑事务 一般咱们的逻辑事务也是由数据库事务控制的 所以 开始事务是由这个数据库连接操纵数据库事务来开启的 关闭也是这个原理
    当多个线程 用多个数据库连接同时访问一张数据库表的时候 数据库都是设置数据库隔离级别的 也就是说 要是在串行化的情况下 一个人正访问者这个数据 其他人根本就访问不了 因为这条数据已经被正在访问的这个人锁定住了
    我们必须要保证并发的一致性 也就是说 如果我获得的连接 别人也能获得 在我提交之前 但是别人也用这个连接先提交了 那么我再次提交的话 会覆盖别人的提交的 所以要保证一个事务里的连接只有一个人用 而且一个事务只对应一个连接 这样才能保证事务的原子性 隔离性 一致性 和持久性

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?