1 package demo.bank.transaction.explicit; 2 3 4 5 public class Lock 6 7 { 8 9 private boolean locked; 10 11 12 13 public Lock() 14 15 { 16 17 locked = false; 18 19 } 20 21 22 23 public synchronized void lock() 24 25 { 26 27 while(locked) 28 29 { 30 31 try 32 33 { 34 35 wait(); 36 37 } 38 39 catch(InterruptedException ie) 40 41 {} 42 43 } 44 45 locked = true; 46 47 } 48 49 50 51 public synchronized void unlock() 52 53 { 54 55 locked = false; 56 57 notifyAll(); 58 59 } 60 61 } 62 63 | Popular Tags |