JAVA经典题--死锁案例
死锁原理: 两个线程相互等待对方释放同步监视器
例子程序:
1 public class TestDeadLock implements Runnable { 2 3 public int flag = 1; 4 static Object o1 = new Object(), o2 = new Object(); 5 6 public void run() { 7 if (flag == 1) { 8 synchronized (o1) { 9 try { 10 Thread.sleep(500); 11 } catch (Exception e) { 12 e.printStackTrace(); 13 } 14 synchronized (o2) { 15 System.out.println("1"); 16 } 17 } 18 } 19 if (flag == 0) { 20 synchronized (o2) { 21 try { 22 Thread.sleep(500); 23 } catch (Exception e) { 24 e.printStackTrace(); 25 } 26 synchronized (o1) { 27 System.out.println("0"); 28 } 29 } 30 } 31 } 32 33 public static void main(String[] args) { 34 TestDeadLock td1 = new TestDeadLock(); 35 TestDeadLock td2 = new TestDeadLock(); 36 td1.flag = 1; 37 td2.flag = 0; 38 Thread t1 = new Thread(td1); 39 Thread t2 = new Thread(td2); 40 t1.start(); 41 t2.start(); 42 } 43 }
转载于:https://www.cnblogs.com/Kingram/p/9048862.html
JAVA经典题--死锁案例相关推荐
- java经典题之冒泡排序
Java面试中经常会出现一道比较简单但是做起来比较困难的题,那就是冒泡排序法,即对一个数组从小到大(或者从大到小)进行排序,并且将数组中的元素位置替换.如果数组比较少的情况下,可以利用简单的比较,然后 ...
- java经典题丨有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总对数为多少?
兔子问题,习题练习: public class Rubbit {public static void main(String[] args) {Scanner sc = new Scanner(Sys ...
- 经典题:用Java打印空心菱形
经典题:用Java打印空心菱形 本题是在打印空心金字塔的基础上进行的,不会的点击下面的链接: 经典题:用Java打印空心金字塔 (1)打印无底空心金字塔 输出如下: 开始运行... 请输入层数 6** ...
- JAVA经典算法50题(转)
转载请注明出处:http://blog.csdn.net/l1028386804/article/details/51097928 JAVA经典算法50题 [程序1] 题目:古典问题:有一对兔子, ...
- java经典算法四十题
java经典算法四十题 [程序9]题目:一个数如果恰好等于它的因子之和,这个数就称为 "完数 ".例如6=1+2+3.编程找出1000以内的所有完数. public class W ...
- java经典50题_JAVA经典算法50题(3)【面试+工作】
原标题:JAVA经典算法50题(3)[面试+工作] JAVA经典算法50题(3)[面试+工作] [程序21] 题目:求1+2!+3!+...+20!的和. 1.程序分析:此程序只是把累加变成了累乘. ...
- java经典50道_50道经典的JAVA编程题(41-45)
50道经典的JAVA编程题(41-45),苦逼的程序猿,晚上睡不着了编程吧~今天坚持做10道题!发现编程能是我快乐...O(∩_∩)O哈哈~能平静我烦乱的心,剩下5道题留到考试完了再做吧!该睡觉了.. ...
- java经典100例算法题_10道java经典算法题,每一题都能帮你提升java水平!
JAVA经典算法题 [程序1] 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析:兔子 ...
- java求最大公约数_10道java经典算法题,小白必备,每一题都能提升你的java能力...
JAVA经典算法 跪求关注,祝关注我的人都:身体健康,财源广进,福如东海,寿比南山,早上贵子,从不掉发! 更多java资料可以私信我领取! [程序1] 题目:古典问题:有一对兔子,从出生后第3个月起每 ...
最新文章
- 服务器ping你可以ping通,你ping服务器ping不同的解决方案!!
- 【转图】从可乐到NIKE 经典logo的web2.0版
- 13.跨进程读写内存
- HDU3363_贪心
- mysql双主故障自动切换_MySQL主库高可用 -- 双主单活故障自动切换方案
- 带有毫秒 转换日期_【Java学习笔记(七)】之日期类的介绍
- Visual Studio Team Architect团队的敏捷开发 (第三部分)
- Js模拟select选择框,参照IE8样式
- 老男孩linux学习笔记第一课安装Linux
- 常见的思维模型:5W2H和2W1H
- 微信公众号订阅通知设置
- 数据分析5-银行客户风险评估实战
- windows 7 官方旗舰版
- sam音高修正_音高修正软件melodyne使用方法1中英文对照
- 史上最怪异的几大数据中心事故
- 基于Javaweb的问卷调查系统
- 【知识兔】Excel教程小技巧之常用快捷键汇总
- 云摆摊 | 手把手教你制作ESP8266物联网创意点阵时钟,女朋友看了都想要!
- 如何通俗的理解beam search?
- STF移动测试云平台搭建