我试图产生一个死锁状态。我可以使用下面的代码来生成它。
class MyCode {
public static Object lock1 = new Object();
public static Object lock2 = new Object();
public static void main (String[] args) throws Exception{
Thread t1 = new Thread(()-> {
synchronized(lock1) {
System.out.println("Took lock on object" + lock1);
try {
Thread.sleep(10000);
}catch(Exception e) {}
synchronized(lock2) {
System.out.println("hello world 1....");
}
}
});
Thread t2 = new Thread(()-> {
synchronized(lock2) {
System.out.println("Took lock on object" + lock2);
try {
Thread.sleep(10000);
}catch(Exception e) {}
synchronized(lock1) {
System.out.println("hello world 2....");
}
}
});
t1.start();
t2.start();
System.out.println("Hello Java");
}
}
我的要求是使用这2个线程执行代码。
我该如何实现? Java中还有其他方法可以使用wait / notify方法吗?
谢谢。