死锁的产生
来源:互联网 发布:手机计步器软件排行 编辑:程序博客网 时间:2024/04/30 17:26
多线程里面,大家一定不会忘记有死锁这个概念。大家都知道,死锁就是2个线程,互相等待对方的资源,一直不能往下执行。下面我用简单的用java代码写一个死锁。
public class Main{ private Object o1 = new Object(), 02 = new Object(); public static void main(String [] args){ Main m = new Main(); new Thread(){ public void run(){ synchroized(m.o1){ synchroized(m.o2){ System.out.println(Thread.getCurrentName()); } } } }.start(); new Thread(){ synchroized(m.o2){ synchroized(m.o1){ System.out.println(Thread.getCurrentName()); } } }.start(); }}
解决死锁的方案就是要执行顺序不出现互相等待的情况,出现了这种情况需要你让我退这种。就好像一条只能容一辆车过路的桥,如果两辆完全方向相反的车,是不是势必就有一辆需要退出一条道让他先过呢,道理是一样的。
0 0
- 产生死锁的必要条件
- 关于死锁的产生
- 产生死锁的原因
- 死锁产生的原因
- 产生死锁的条件
- synchronized产生的死锁
- 产生死锁的原因
- 产生死锁的必要条件
- 死锁的产生
- 产生死锁的原因
- 产生死锁的必要条件
- 死锁产生的必要条件
- 模拟死锁的产生
- 死锁产生的原因
- 死锁的产生和预防死锁
- 死锁的产生以及如何避免死锁
- 死锁的产生以及如何防止死锁的产生
- 产生死锁的四个条件
- 欢迎使用CSDN-markdown编辑器
- Codeforces Gym 100962 J. Jimi Hendrix
- 游戏开发时关于UGUI的一些控件无法使用的问题
- 八皇后
- Spark Streaming使用Kafka保证数据零丢失
- 死锁的产生
- 剑指offer经典编程(十三)
- 两种常见的雷击浪涌和雷击浪涌防护电路设计概要
- 喇叭音量调节
- super的理解
- 解决unicodedecodeerror ascii codec can’t decode byte 0xd7 in position 9 ordinal not in range(128)
- 单词方阵
- VS2015+OPENCV3.1+WIN7配置
- Dijkstra算法+二维结构体数组