2 h123xd4 h123xd4 于 2016.04.17 18:56 提问

下面两个例子并发访问死锁是如何产生的?

begin train

begin
insert into A values(XX,XX,..)

update A set SS = SS where id = SS
end

commit train

begin train

begin

update A set SS = SS where id = SS

update A set XX = XX where id = XX

end

commit train

1个回答

webcq
webcq   2016.04.17 20:02

是否有 insert update 的触发器呢。

h123xd4
h123xd4 没有,一个事务中对一张表进行增加个修改的操作,并发时出现死锁和锁超时的情况
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
死锁如何产生?
死锁产生的四个必要条件: 何为必要条件? 产生死锁,必然四个条件成立;四个条件成立,不一定为死锁 1 互斥 只有互斥才可以产生死锁,两个进程共同操作一个资源,那么,同一时间只能一个进程来操作,那么另一个进程必须等待,此进程不释放,另一个永远等待。产生死锁 2 不可以强占 两个进程,一个进程占有某一个资源,另一个不可以强行占有我的资源,如果可以占有,那么两个进程都可以操作资源,那么就
死锁,死锁产生的原因,产生死锁的必要条件和解决死锁的方法
死锁:指多个进程因竞争共享资源而造成的一种僵局,若无外力作用,这些进程都将永远不能再 向前推进。 安全状态与不安全状态:安全状态指系统能按某种进程顺序来为每个进程分配其所需资源,直 至最大需求,使每个进程都可顺利完成。若系统不存在这样一个序列, 则称系统处于不安全状态。 产生死锁的原因:(1)竞争系统资源 (2)进程的推进顺序不当
【java并发】线程技术之死锁问题
我们知道,使用synchronized关键字可以有效的解决线程同步问题,但是如果不恰当的使用synchronized关键字的话也会出问题,即我们所说的死锁。死锁是这样一种情形:多个线程同时被阻塞,它们中的一个或者全部都在等待某个资源被释放。由于线程被无限期地阻塞,因此程序不可能正常终止。   下面写一个死锁的例子加深理解。先看程序,再来分析一下死锁产生的原因:public class DeadL
死锁的产生原理及必要条件,如何避免死锁
产生死锁的原因主要是:   (1) 因为系统资源不足。   (2) 进程运行推进的顺序不合适。   (3) 资源分配不当等。   如果系统资源充足,进程的资源请求都能够得到满足,死锁出现的可能性就很低,否则   就会因争夺有限的资源而陷入死锁。其次,进程运行推进顺序与速度不同,也可能产生死锁。 产生死锁的四个必要条件:       1、互斥使用(资源独占) 一个资源每次只能给一个进程
多线程——死锁产生的条件和过程分析
package com.qianfeng.demo02; /** * 出现死锁的四个必要条件: * 1.互斥条件:资源不能互相共享,各用各的。 * 2.请求与保持条件:已经得到了资源的线程,还想要申请新的资源。 * 3.非剥夺条件:已经分配的资源不能在相应的线程中强行的剥夺。 * 4.循环等待条件:系统中若干个线程组成了环路,该环路中每一个线程都在等待着相邻的线程占据的资源。 *
死锁产生的原因和解决
其实所有的死锁最深层的原因就是一个:资源竞争 表现一: 一个用户A 访问表A(锁住了表A),然后又访问表B 另一个用户B 访问表B(锁住了表B),然后企图访问表A 这时用户A由于用户B已经锁住表B,它必须等待用户B释放表B,才能继续,好了他老人家就只好老老实实在这等了 同样用户B要等用户A释放表A才能继续这就死锁了 解决方法: 这种死锁是由于你的程序的B
死锁发生的条件以及如何避免死锁
ⅰ死锁 ⅱ死锁产生的条件 ⅲ死锁产生的原因 ⅳ处理方法
sql server 死锁简易例子
产生死锁的原因主要是:(1) 因为系统资源不足。(2) 进程运行推进的顺序不合适。(3) 资源分配不当等。如果系统资源充足,进程的资源请求都能够得到满足,死锁出现的可能性就很低,否则就会因争夺有限的资源而陷入死锁。其次,进程运行推进顺序与速度不同,也可能产生死锁。产生死锁的四个必要条件:(1) 互斥条件:一个资源每次只能被一个进程使用。(2) 请求与保持条件:一个进程因请求资源而阻塞时,对已获得的...
MySQL死锁问题实例分析及解决方法(主要是SQL语句可能会产生的问题)
from: http://database.51cto.com/art/201108/286325.htm MySQL死锁问题的相关知识是本文我们主要要介绍的内容,接下来我们就来一一介绍这部分内容,希望能够对您有所帮助。 1、MySQL常用存储引擎的锁机制 MyISAM和MEMORY采用表级锁(table-level locking) BDB采用页面锁(page-leve
MYSQL的锁介绍,以及死锁发生情况-带例子
mysql锁能在并发情况下的mysql进行更好的优化 MySQL有三种锁的级别:页级、表级、行级,这3种锁的特性可大致归纳如下:  表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。 行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高。 页面锁:开销和加锁时间界于表锁和行锁之间;会出现死锁;锁定粒度界于表锁和行锁之间,