Java Object.notifyAll()
Syntax
Object.notifyAll() has the following syntax.
public final void notifyAll()
Example
In the following code shows how to use Object.notifyAll() method.
/*from ww w .j a va2 s . c om*/
class MyResource {
boolean ready = false;
synchronized void waitFor() throws Exception {
System.out.println(Thread.currentThread().getName()
+ " is entering waitFor().");
while (!ready)
wait(10000, 500);
System.out.println(Thread.currentThread().getName()
+ " resuming execution.");
}
synchronized void start() {
ready = true;
notifyAll();
}
}
class MyThread implements Runnable {
MyResource myResource;
MyThread(String name, MyResource so) {
myResource = so;
new Thread(this, name).start();
}
public void run() {
try {
myResource.waitFor();
} catch (Exception e) {
e.printStackTrace();
}
}
}
public class Main {
public static void main(String args[]) throws Exception {
MyResource sObj = new MyResource();
new MyThread("MyThread", sObj);
for (int i = 0; i < 10; i++) {
Thread.sleep(50);
System.out.print(".");
}
sObj.start();
}
}