KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > columba > core > base > Barrier


1 //The contents of this file are subject to the Mozilla Public License Version 1.1
2
//(the "License"); you may not use this file except in compliance with the
3
//License. You may obtain a copy of the License at http://www.mozilla.org/MPL/
4
//
5
//Software distributed under the License is distributed on an "AS IS" basis,
6
//WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
7
//for the specific language governing rights and
8
//limitations under the License.
9
//
10
//The Original Code is "The Columba Project"
11
//
12
//The Initial Developers of the Original Code are Frederik Dietz and Timo Stich.
13
//Portions created by Frederik Dietz and Timo Stich are Copyright (C) 2003.
14
//
15
//All Rights Reserved.
16

17 package org.columba.core.base;
18
19 public class Barrier {
20
21     boolean open;
22
23     public Barrier() {
24     this.open = false;
25     }
26
27     public synchronized void join() {
28     while (!this.open) {
29         try {
30         wait();
31         } catch (InterruptedException JavaDoc e) {
32         e.printStackTrace();
33         }
34     }
35
36     // Wake up the others!
37
notifyAll();
38     }
39
40     public synchronized void open() {
41     this.open = true;
42     notifyAll();
43     }
44
45     public void close() {
46     this.open = false;
47     }
48
49 }
50
Popular Tags