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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. class Mylock{
  2.          Object locka = new Object();
  3.          Object lockb = new Object();
  4.          //在毕老师的视频中这里是静态修饰锁对象,static Object locka = new Object();
  5.          // Static Object lockb = new Object();
  6.          //这个程序锁不住,大家说一下自己的看法,我我也不知道这样怎么就不能锁住。
  7. }
  8. class DeadLock implements Runnable{
  9.         private boolean flag;
  10.         Mylock m = new Mylock();
  11.         DeadLock(boolean flag){
  12.                 this.flag = flag;
  13.         }
  14.         public void run(){
  15.                 if(flag){
  16.                         while(true){
  17.                         synchronized(m.locka){
  18.                                 System.out.println("if locka");
  19.                                 try{Thread.sleep(20);}catch(Exception e){}
  20.                                 synchronized(m.lockb){
  21.                                         System.out.println("if lockb");
  22.                                 }
  23.                         }
  24.                 }
  25.                 }else{
  26.                         while(true){
  27.                         synchronized(m.lockb){
  28.                                 System.out.println("else lockb");
  29.                                 synchronized(Mm.locka){
  30.                                         System.out.println("else locka");
  31.                                 }
  32.                         }
  33.                 }
  34.                 }
  35.         }
  36. }
  37. class LockDemo{
  38.         public static void main(String[] args){
  39.                 Thread t1 = new Thread(new DeadLock(true));
  40.                 Thread t2 = new Thread(new DeadLock(false));
  41.                 t1.start();
  42.                 t2.start();
  43.         }
  44. }
复制代码


1 个回复

正序浏览
这是为啥 a???有没有大神来说一下的?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马