黑马程序员技术交流社区

标题: 面试的时候: 写一个死锁的程序 [打印本页]

作者: jlq    时间: 2015-11-2 23:32
标题: 面试的时候: 写一个死锁的程序
代码:
package oo;
//
class TestJava implements Runnable{
    private boolean flag ;
    TestJava(boolean flag){ //把标记传进来
          this.flag =flag;      
    }
    public void run(){
          if(flag ){
             synchronized(MyLock.locka ){
                 System. out.println("if locka" );
                  synchronized(MyLock.lockb ){
                      System. out.println("if lockb");              
                 }
             }
         } else{
             synchronized(MyLock.lockb ){
                 System. out.println("else lockb" );
                  synchronized(MyLock.locka ){
                      System. out.println("else locka");         
                 }
             }
         }        
    }
}
class MyLock{
    static Object locka=new Object();//写静态只为了方便调用
    static Object lockb=new Object();
}
public class DeadLockTest {

    public static void main(String[] args) {
         Thread t1= new Thread(new TestJava(true));
         Thread t2=new Thread( new TestJava(false));
         t1.start();
          t2.start();
    }

}
结果:
if locka

else lockb就锁住了 无法运行

作者: sshh11    时间: 2015-11-2 23:38
这个班里发的书上有,你可以详细看看
作者: 孤单背影    时间: 2015-11-2 23:52
好好看看
作者: 大自然的搬运工    时间: 2015-11-3 02:32
嵌套锁
作者: hhl    时间: 2015-11-12 23:15
大神好强呀,大腿够粗
作者: candlelight    时间: 2015-11-12 23:30
技术过硬就是牛
作者: 一个人走天下    时间: 2015-11-12 23:41
好厉害啊




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2