java多线程之模拟死锁
来源:互联网 发布:锅炉热力计算软件 编辑:程序博客网 时间:2024/05/22 13:36
package thread;public class TestDeadLock implements Runnable{public int flag = 1;static Object o1 = new Object(),o2 = new Object();@Overridepublic void run() {System.out.println("flag:"+flag);if(flag==1){synchronized(o1){try {Thread.sleep(100);} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}synchronized(o2){System.out.println("我是o2,被锁住了");}}}if(flag==0){synchronized(o2){try {Thread.sleep(100);} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}synchronized(o1){System.out.println("我是o1,被锁住了");}}}}public static void main(String[] args) {// TODO Auto-generated method stubTestDeadLock d1 = new TestDeadLock();TestDeadLock d2 = new TestDeadLock();Thread t1 = new Thread(d1);Thread t2 = new Thread(d2);d1.flag = 1;d2.flag = 0;t1.start();t2.start();}}
运行结果为
flag:1
flag:0
由于发生死锁,两条if语句中的打印语句永远都不会执行
- java多线程之模拟死锁
- Java 模拟多线程死锁
- java多线程 模拟死锁程序
- Java代码模拟死锁 多线程
- Java多线程死锁情况模拟
- java多线程学习之死锁的模拟和避免
- java多线程之死锁
- java多线程之死锁
- java多线程之死锁
- java多线程之--死锁
- Java---多线程之死锁
- java多线程之死锁
- Java 多线程之死锁
- Java多线程之死锁
- Java多线程之死锁
- java多线程之死锁
- java多线程之死锁
- java多线程之死锁
- 配置与使用闪回之闪回数据归档
- 配置与使用闪回之闪回数据库
- 贪心算法之最小生成树prim与单源最短路径dijkstra
- Codeforces Round #138 (Div. 2)D. Two Strings
- 编写一个函数,要求输入年月日时分秒,输出下一个时间
- java多线程之模拟死锁
- wince 5.0,eVC 4.0通过应用程序启动控制面板的小程序
- 数据库的数据类型
- Project Euler problem 24
- 配置与使用闪回之闪回事务
- S3C2440上 MMC/SD卡驱动实例开发讲解 .
- Shell内建命令之getopts
- ALSA之PCM分析
- Kinect开发学习笔记之(二)Kinect开发学习资源整理