Java DeadLock
来源:互联网 发布:mac里的照片和相簿 编辑:程序博客网 时间:2024/06/05 14:48
public class TestDeadLock implements Runnable{public int flag = 1;static Object o1 = new Object(),o2 = new Object();public void run(){System.out.println("flag = "+flag);if(flag==1){synchronized(o1){try{Thread.sleep(500);//o1 sleeps so that t2 can lock o2;}catch(Exception e){e.printStackTrace();}synchronized(o2){System.out.println("11");//can't print;}}}if(flag ==0){synchronized(o2){ // t2 Locks o2try{Thread.sleep(5000);}catch(Exception e){e.printStackTrace();}synchronized(o1){System.out.println("00");//can't print;}}}}public static void main(String[] args){TestDeadLock td1 = new TestDeadLock();TestDeadLock td2 = new TestDeadLock();td1.flag = 1;td2.flag = 0;Thread t1 = new Thread(td1);Thread t2 = new Thread(td2);t1.start();t2.start();}}
结果:flag = 1
flag = 0
-(程序不会终止,因为双方都在各自等待对方解锁) s
阅读全文
0 0
- Java DeadLock
- (Core-JAVA) Deadlock Example
- Deadlock
- deadlock
- Deadlock
- Deadlock
- DeadLock
- DeadLock
- Deadlock
- deadLock
- Java Deadlock Example – How to analyze deadlock situation
- The Java™ Tutorials — Concurrency :Deadlock 死锁
- (十五)java并发编程--线程的死锁(deadlock)
- 死锁(deadlock)
- Oracle Deadlock
- Deadlock --- 死锁
- python deadlock
- Deadlock troubleshooting
- Codevs 3122 奶牛代理商 VIII
- 2017图灵杯问题C 来简单地数个数(高精度)
- myEclipse自动部署项目
- supervisor可以用的配置es和kibana
- Mysql的安装配置
- Java DeadLock
- java中的四种线程池
- spring切面切点@Aspect的使用
- python基础(五)——CGI编程
- plsql存储过程以及在java中调用
- AnnotationConfigApplicationContext的register方法
- Js实现页面跳转的几种方式
- linux结构详解
- Android内存泄漏之前因后果