mysql中死锁的条件有哪些
这期内容当中小编将会给大家带来有关MySQL中死锁的条件有哪些,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

公司主营业务:成都网站建设、网站制作、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联建站是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联建站推出罗甸免费做网站回馈大家。
1、四个条件
互斥条件:一个资源每次只能被一个进程使用。
请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。
不剥夺条件:进程已获得的资源,在末使用完之前,不能强行剥夺。
循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。
2、实例
public class DeadLockDemo {
public static Object one = new Object();
public static Object two = new Object();
public static void main(String[] args) {
new Thread(() -> {
//获取第一个锁,并且不会被其他线程抢占
synchronized (one) {
try {
System.out.println(Thread.currentThread().getName() + "获得one锁,等待two锁。");
//确保第二个线程此时先获取到了第二个锁
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
//请求获取第二锁,并且任然持有第一个锁
synchronized (two) {
System.out.println(Thread.currentThread().getName() + "获得two锁。");
}
}
}).start();
new Thread(() -> {
synchronized (two) {
try {
System.out.println(Thread.currentThread().getName() + "获得two锁,等待one锁。");
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
synchronized (one) {
System.out.println(Thread.currentThread().getName() + "获得one锁。");
}
}
}).start();
}
}上述就是小编为大家分享的mysql中死锁的条件有哪些了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注创新互联行业资讯频道。
分享题目:mysql中死锁的条件有哪些
标题链接:http://www.jxjierui.cn/article/iepjjo.html


咨询
建站咨询
