package com.zzl.thread;
/**
*
* @author 无敌小神胖
* 死锁练习小题,
* 俺是小菜鸟,别喷我,
*
*/
class MyRunable implements Runnable{
private boolean flag = true;
public MyRunable(boolean flag){
this.flag = flag;
}
@Override
public void run() {
if(flag){
synchronized (MyObject.a) {
System.out.println("if lock aaaaaaaaaa");
synchronized (MyObject.b) {
System.out.println("if lock bbbbbbbbbbbb");
}
}
}else{
synchronized (MyObject.b) {
System.out.println("else lock bbbbbbbbb");
synchronized (MyObject.a) {
System.out.println("else lock aaaaaaaaaa");
}
}
}
}
}
class MyObject{
static Object a = new Object();
static Object b = new Object();
}
public class DeadLockTest {
public static void main(String[] args) {
MyRunable m1 = new MyRunable(true);
MyRunable m2 = new MyRunable(false);
Thread t1 = new Thread(m1);
Thread t2 = new Thread(m2);
t1.start();
t2.start();
}
}
Thread学习:死锁
最新推荐文章于 2024-07-29 14:22:26 发布