Object.notify() has the following syntax.
public final void notify()
In the following code shows how to use Object.notify() method.
//w w w.ja v a 2 s . c o m class MyResource { boolean ready = false; synchronized void waitFor() throws Exception { System.out.println(Thread.currentThread().getName() + " is entering waitFor()."); while (!ready) wait(); System.out.println(Thread.currentThread().getName() + " resuming execution."); } synchronized void start() { ready = true; notify(); } } 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(); } }
The code above generates the following result.