JAVA 多线程-死锁

来源:互联网 发布:新淘宝店铺开了没人买 编辑:程序博客网 时间:2024/05/01 20:40

//仅作为学习笔记

下面是产生死锁常见的原因

/*死锁同步中嵌套同步*/class Test implements Runnable{private boolean flag;Test(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("if lockb");synchronized(MyLock.locka){System.out.println("if locka");}}}}}class MyLock{static Object locka =new Object();//必须是静态对象static Object lockb = new Object(); }class DeadLockTest{public static void main(String []args){Thread t1 = new Thread(new Test(true));Thread t2 = new Thread(new Test(false));t1.start();t2.start();}}


原创粉丝点击