死锁示例
2015-09-10 14:11
232 查看
/** * 死锁示例 * * @author ZHOUMI2 * */ public class TestDeadLock implements Runnable { static Object o1 = new Object(); // 假如去掉static修饰符,就不会发生死锁 static Object o2 = new Object(); public int flag = 0; public static void main(String[] args) { TestDeadLock td1 = new TestDeadLock(); // 虽然new了两个td实例,但是这里共用的是同一份静态变量o1,o2 TestDeadLock td2 = new TestDeadLock(); td1.flag = 1; td2.flag = 0; Thread t1 = new Thread(td1); Thread t2 = new Thread(td2); t1.start(); t2.start(); } public void run() { System.out.println("flag=" + flag); if (flag == 0) { synchronized (o1) { try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } synchronized (o2) { System.out.println("hello"); } } } if (flag == 1) { synchronized (o2) { try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } synchronized (o1) { System.out.println("ok"); } } } } }
相关文章推荐
- R-CNN detection
- 黑暗森林法则 | 互联网格局体系下的降维攻击
- final - finally - finalize
- 云盘部署
- 允许Android随着屏幕转动的控制自由转移到任何地方(附demo)
- jQuery Mobile发展新闻阅读器,适应iphone和android打电话
- crawler_URL编码原理详解
- BroadcastReceiver生命周期探讨
- oracle 11201 基数反馈导致主机cpu 开销过高处理
- oc自学-使用文件
- ios开发中生成.pem文件
- 美团二面
- Android基础入门教程——7.4 Android调用WebService
- ubuntu12.04 create SAP issues
- HTTP 文件下载时中文文件名乱码问题处理
- 12个学习编程的网站
- java关于byte
- 泡脚水里加一宝有奇效
- angularjs指令详解
- testlink+mantis环境部署