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

一个事务对应一个连接

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

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

  • 写回答

2条回答

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

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

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

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料