added ex H1
This commit is contained in:
parent
1e8e6eb1e9
commit
43124b51cc
43
src/exercicses/ex_h/TestThreadWithDeadlock.java
Normal file
43
src/exercicses/ex_h/TestThreadWithDeadlock.java
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
package exercicses.ex_h;
|
||||||
|
|
||||||
|
public class TestThreadWithDeadlock {
|
||||||
|
public static Object Lock1 = new Object();
|
||||||
|
public static Object Lock2 = new Object();
|
||||||
|
|
||||||
|
public static void main(String args[]) {
|
||||||
|
ThreadDemo1 T1 = new ThreadDemo1();
|
||||||
|
ThreadDemo2 T2 = new ThreadDemo2();
|
||||||
|
T1.start();
|
||||||
|
T2.start();
|
||||||
|
}
|
||||||
|
|
||||||
|
private static class ThreadDemo1 extends Thread {
|
||||||
|
public void run() {
|
||||||
|
synchronized (Lock1) {
|
||||||
|
System.out.println("Thread 1: Holding lock 1...");
|
||||||
|
try {
|
||||||
|
Thread.sleep(10);
|
||||||
|
} catch (InterruptedException e) {}
|
||||||
|
System.out.println("Thread 1: Waiting for lock 2...");
|
||||||
|
synchronized (Lock2) {
|
||||||
|
System.out.println("Thread 1: Holding lock 1 & 2...");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
private static class ThreadDemo2 extends Thread {
|
||||||
|
public void run() {
|
||||||
|
synchronized (Lock1) {
|
||||||
|
System.out.println("Thread 2: Holding lock 1...");
|
||||||
|
try {
|
||||||
|
Thread.sleep(10);
|
||||||
|
} catch (InterruptedException e) {
|
||||||
|
}
|
||||||
|
System.out.println("Thread 2: Waiting for lock 2...");
|
||||||
|
synchronized (Lock2) {
|
||||||
|
System.out.println("Thread 2: Holding lock 1 & 2...");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user