多线程——死锁
来源:互联网 发布:西储大学轴承数据 编辑:程序博客网 时间:2024/05/02 08:42
/*死锁。同步中嵌套同步。*/class Ticket implements Runnable{private int tick = 1000;Object obj = new Object();boolean flag = true;public void run(){if(flag){while(true){synchronized(obj){show();}}}elsewhile(true)show();}public synchronized void show()//this{synchronized(obj){if(tick>0){try{Thread.sleep(10);}catch(Exception e){}System.out.println(Thread.currentThread().getName()+"....code : "+ tick--);}}}}class DeadLockDemo{public static void main(String[] args) {Ticket t = new Ticket();Thread t1 = new Thread(t);Thread t2 = new Thread(t);t1.start();try{Thread.sleep(10);}catch(Exception e){}t.flag = false;t2.start();}}
class Test implements Runnable{private boolean flag;Test(boolean flag){this.flag = flag;}public void run(){if(flag){while(true){synchronized(MyLock.locka){System.out.println(Thread.currentThread().getName()+"...if locka ");synchronized(MyLock.lockb){System.out.println(Thread.currentThread().getName()+"..if lockb");}}}}else{while(true){synchronized(MyLock.lockb){System.out.println(Thread.currentThread().getName()+"..else lockb");synchronized(MyLock.locka){System.out.println(Thread.currentThread().getName()+".....else locka");}}}}}}class MyLock{static Object locka = new Object();static Object lockb = new Object();}class DeadLockTest{public static void main(String[] args) {Thread t1 = new Thread(new Test(true));Thread t2 = new Thread(new Test(false));t1.start();t2.start();}}
阅读全文
0 0
- 多线程——死锁
- 多线程——死锁
- Java多线程——死锁
- 多线程——线程死锁
- Java_基础—多线程(死锁)
- 黑马程序员——多线程5:死锁
- Java多线程(八)——死锁
- JAVA多线程——死锁分析
- Java多线程初探——死锁
- 多线程 —— 死锁代码展示
- 多线程——死锁的例子
- Java多线程(6)——死锁
- Java多线程㈢—死锁(示例)
- Android线程—多线程之死锁解决办法
- 多线程WIN32程序如何检查死锁(一)——死锁概述
- java自学笔记————多线程之死锁;
- 黑马程序员———多线程和死锁问题总结
- 有趣的多线程编程(4)——死锁
- 1058. A+B in Hogwarts (20)
- OpenGL ES 纹理贴图
- 十二、断路器-Hystrix 的认识
- java之泛型基础
- HDU 1172 每日一水
- 多线程——死锁
- Codeforces Round #405 A. Bear and Big Brother
- MySQL必知必会l语句总结(二)
- BZOJ:2440: [中山市选2011]完全平方数(容斥原理)
- jQuery中应该注意的细节
- TinkPHP 自定义API基控制器类
- Ubuntu桌面右键不管用解决办法
- 去重函数
- 对this的解读