线程-模拟死锁问题
来源:互联网 发布:ubuntu Server安装教程 编辑:程序博客网 时间:2024/04/29 15:22
public class DeadLockTest implements Runnable{ private int flag; public DeadLockTest(int flag){ this.flag = flag; } static Object o1 = new Object(),o2 = new Object(); @Override public void run() { if(flag == 1) { synchronized(o1) { try { System.out.println(Thread.currentThread().getName() + " 占据o1"); Thread.sleep(100); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println(Thread.currentThread().getName() + " 等待t2释放o2"); synchronized(o2) { System.out.println("flag == 1"); } } } if(flag == 2) { synchronized(o2) { try { System.out.println(Thread.currentThread().getName() + " 占据o2"); Thread.sleep(100); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println(Thread.currentThread().getName() + " 等待t1释放o1"); synchronized(o1) { System.out.println("flag == 2"); } } } // 上面2个线程死锁 执行不到此处 System.out.println("ok"); } public static void main(String[] args) { Thread t1 = new Thread(new DeadLockTest(1), "t1"); Thread t2 = new Thread(new DeadLockTest(2), "t2"); t1.start(); t2.start(); }}
0 0
- 线程-模拟死锁问题
- Java模拟排查线程死锁问题
- java模拟线程死锁
- 模拟线程死锁
- java 线程死锁模拟
- 模拟线程死锁
- C#模拟死锁问题
- 使用java线程模拟死锁
- 线程中的死锁问题
- 线程死锁问题
- 线程死锁问题
- 线程死锁问题
- java线程死锁问题
- 线程死锁问题
- 线程死锁问题
- 线程死锁的问题
- java线程死锁问题
- 线程死锁问题
- Linux入门:常用命令:curl用法【等待后续添加】
- 【library "libmaliinstr.so" not found】解决办法
- iOS-UI分析利器--Reveal安装破解以及简单使用
- ScrollView中嵌套ListView或GridView,只显示一行
- 计算几何的学习
- 线程-模拟死锁问题
- HDU1159最长公共子序列
- MDI 父亲窗体遍历子窗体
- 高性能ORM数据访问组件Deft,比dapper快20%以上
- 液压阀孔的加工技术
- 测试图片墙资源
- Js 图片 (或者任意元素) 添加文字
- 基于WAS 6.1的WebSphere Portal 6.1 Cluster配置详解
- CSS学习笔记:inline和inline-block的区别