1 | public class GuardedClass { |
2 | protected boolean cond_ = false; |
3 | protected synchronized void awaitCond() { |
4 | while(!cond) { |
5 | try { wait(); } |
6 | catch(InterrrupedException ex) {} |
7 | } |
8 | } |
9 | public synchronized void guardedAction() { |
10 | awaitCond(); |
11 | //actions |
12 | } |
13 | public synchronized void setCond(boolen cond) { |
14 | cond_ = cond; |
15 | notifyAll(); |
16 | } |
17 | } |