博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JAVA 死锁
阅读量:2438 次
发布时间:2019-05-10

本文共 716 字,大约阅读时间需要 2 分钟。

class Locker
{
static Object lockerA=new Object();
static Object lockerB=new Object();
}
class CRun implements Runnable
{
    boolean flag=false;
    public CRun(boolean flag)
{
this.flag=flag;
}
public void run()
{
        if(flag)
{
             synchronized(Locker.lockerA)
{
System.out.println("True    get lockerA");
synchronized(Locker.lockerB)
{
System.out.println("True    get  lockerB");
}
}
}
else
{
 synchronized(Locker.lockerB)
{
System.out.println("False    get lockerB");
synchronized(Locker.lockerA)
{
System.out.println("False    get  lockerA");
}
}
}
}
}
class DeadLockerTest
{
   public static void main(String[] args)
   {
      Thread thread1=new Thread(new CRun(false));
 Thread thread2=new Thread(new CRun(true));
 thread1.start();
 thread2.start();
   }
}

转载地址:http://ljrmb.baihongyu.com/

你可能感兴趣的文章
UVALive 6755 - Swyper Keyboard
查看>>
uva10023 手算开方的方法
查看>>
第一个JSP程序(JSP入门)
查看>>
JSP语法简介
查看>>
JSP中EL表达式入门与简介
查看>>
Spring的几种注入方式
查看>>
Spring自动装配
查看>>
Hibernate入门与实例
查看>>
Jython入门学习
查看>>
Hiberate基础用法实例
查看>>
Maven编译时指定JDK版本
查看>>
Hibernate单向关联N-1
查看>>
Hibernate单向关联1-1
查看>>
jQuery自定义动画
查看>>
Spring-data-redis在shiro中的实例
查看>>
GUN C中__attribute__作用
查看>>
3、系统调用之SYSCALL_DEFINE分析
查看>>
linux的signal_pending及signal
查看>>
OBJDUMP用法
查看>>
c/cplusplus通用makefile
查看>>