今天在我的努力下Java死锁的问题解决了
2012-04-17 23:55
381 查看
public class TestDeadLock implements Runnable { 2 /*public*/ int flag = 1; 3 static Object o1 = new Object(); 4 static Object o2 = new Object(); 5 public void run () { 6 System.out.println("flag="+flag); 7 if(flag==1) { 8 synchronized(o1) {//其实就是花括号了,应该是synchronized的花括号了,而对于死锁的问题,应该是在往里面嵌套一个,而不是并列,这/是为什么我出错的原因了 9 try { 10 Thread.sleep(1000); 11 } catch (InterruptedException e) {} 12 synchronized(o2) { 13 System.out.println("1"); 14 } 15 } 16 } 17 if(flag==0) { 18 synchronized(o2) { 19 try { 20 Thread.sleep(1000); 21 } catch (InterruptedException e) {} 22 synchronized(o1) { 23 System.out.println("0"); 24 } 25 } 26 } 27 } 28 public static void main(String args[]) { 29 TestDeadLock tdl = new TestDeadLock(); 30 TestDeadLock tdl2 = new TestDeadLock(); 31 tdl.flag = 1; 32 tdl2.flag = 0; 33 Thread t1 = new Thread(tdl); 34 Thread t2 = new Thread(tdl2); 35 t1.start(); 36 t2.start(); 37 } 38 }
找了两天就是没弄成死锁,现在被我发现了,就是一个花括号,应该是嵌套的,不是并列的
相关文章推荐
- 解决spring使用动态代理类型转换失败的问题--java.lang.ClassCastException: com.sun.proxy.$Proxy$ cannot be cast to ...今天
- 深入学习理解java:高效的解决死锁问题的线程通讯方式:Semaphore 和 BlockingQueue
- 今天遇到关于JAVA INTEGER类型的问题 不过还好 现在解决了,
- JAVA 多线程死锁问题及解决
- Java 线程死锁的问题解决办法
- Java笔记1 : 在生产者消费者模式中,线程通信与共享数据,死锁问题与解决办法
- 多线程死锁问题分析和解决[java]
- java实现哲学家进餐问题,及其死锁问题的解决
- 今天在JAVA社区解决了问题一个,得分45!^_^
- Java使用Comparable解决排序问题
- 解决JAVA MAVEN项目加载太慢的问题
- Java 程序死锁问题原理及解决方案(来源IBM开发者论坛本文作者文章)
- 今天解决了DataGrid无刷新全选删除问题。
- Android RSA与Java RSA加密不同标准产生问题的解决方法
- kafka java中发送数据、连接失败问题解决
- 【借鉴】Java或Web中解决所有路径问题
- java mail 解决附件中文名乱码问题
- Java NPOI 读取Excel 跳列 问题解决
- Java JSP中文乱码问题解决心得(转)
- Java中各类中文乱码问题解决方法总汇