added ex H1
This commit is contained in:
		
							
								
								
									
										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..."); | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user