A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. 1.package namespace;  
  2. 2.class Dead implements Runnable  
  3. 3.{  
  4. 4.    public boolean flag;  
  5. 5.    public Object locka=new Object();  
  6. 6.    public Object lockb=new Object();  
  7. 7.    public Dead(boolean f) {this.flag=f;}  
  8. 8.    public void run()  
  9. 9.  
  10. 10.    {  
  11. 11.         while(true) {  
  12. 12.                if(flag)
  13. 13.                {  
  14. 14.                    synchronized(Lock.locka)  
  15. 15.                    {  
  16. 16.                        System.out.println("if loca");  
  17. 17.                        synchronized(Lock.lockb)  
  18. 18.                        {  
  19. 19.                            System.out.println("if lockb");  
  20. 20.                        }  
  21. 21.                    }  
  22. 22.                }  
  23. 23.                     
  24. 24.                else {  
  25. 25.                    synchronized(Lock.lockb)  
  26. 26.                    {  
  27. 27.                        System.out.println("else lockb");  
  28. 28.                        synchronized (Lock.locka) {  
  29. 29.                            System.out.println("else locka");  
  30. 30.                        }  
  31. 31.                    }  
  32. 32.                }  
  33. 33.            }  
  34. 34.    }  
  35. 35.}  
  36. 36.class Lock  
  37. 37.{  
  38. 38.    static Object locka=new Object();  
  39. 39.    static Object lockb=new Object();  
  40. 40.}  
  41. 41.public class DeadLock {  
  42. 42.  
  43. 43.    public static void main(String args[])  
  44. 44.    {  
  45. 45.        Thread t1=new Thread(new Dead(true));  
  46. 46.        Thread t2=new Thread(new Dead(false));  
  47. 47.        t1.start();  
  48. 48.        t2.start();  
  49. 49.    }  
  50. 50.}  
复制代码

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马