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();
  }
}




















Home »
  Java Tutorial »
    java.lang »




Boolean
Byte
Character
Class
Double
Enum
Float
Integer
Long
Math
Number
Object
Package
Process
ProcessBuilder
Runnable
Runtime
SecurityManager
Short
StackTraceElement
StrictMath
String
StringBuffer
StringBuilder
System
Thread
ThreadGroup
ThreadLocal
Throwable