Java notify() Method in Threads Synchronization with Examples Last Updated : 28 Jun, 2023 Comments Improve Suggest changes Like Article Like Report The notify() method is defined in the Object class, which is Java's top-level class. It's used to wake up only one thread that's waiting for an object, and that thread then begins execution. The thread class notify() method is used to wake up a single thread. If multiple threads are waiting for notification, and we use the notify() method, only one thread will receive the notification, and the others will have to wait for more. This method does not return any value. It is used with the wait() method, in order to communicate between the threads as a thread that goes into waiting for state by wait() method, will be there until any other thread calls either notify() or notifyAll() method. Syntaxpublic final void notify() ; Return: No return value ExceptionIllegalMonitorStateException: This exception throws if the current thread is not owner of the object's monitor Implementation: The synchronized keyword is used for exclusive accessing.wait() instructs the calling thread to shut down the monitor and sleep until another thread enters the monitor and calls notify().notify() wakes up the first thread that is called wait() on the same object.Example of Java notify() Method Java // Java program to Illustrate notify() method in Thread // Synchronization. // Importing required classes import java.io.*; import java.util.*; // Class 1 // Thread1 // Helper class extending Thread class public class GFG { // Main driver method public static void main(String[] args) { // Creating object(thread) of class 2 Thread2 objB = new Thread2(); // Starting the thread objB.start(); synchronized (objB) { // Try block to check for exceptions try { // Display message only System.out.println( "Waiting for Thread 2 to complete..."); // wait() method for thread to be in waiting // state objB.wait(); } // Catch block to handle the exceptions catch (InterruptedException e) { // Print the exception along with line // number using printStackTrace() method e.printStackTrace(); } // Print and display the total threads on the // console System.out.println("Total is: " + objB.total); } } } // Class 2 // Thread2 // Helper class extending Thread class class Thread2 extends Thread { int total; // run() method which is called automatically when // start() is initiated for the same // @Override public void run() { synchronized (this) { // iterating over using the for loo for (int i = 0; i < 10; i++) { total += i; } // Waking up the thread in waiting state // using notify() method notify(); } } } OutputWaiting for Thread 2 to complete... Total is: 45 Comment More infoAdvertise with us Next Article Java notify() Method in Threads Synchronization with Examples S sanketnagare Follow Improve Article Tags : Java Practice Tags : Java Similar Reads Collections synchronizedSet() method in Java with Examples The synchronizedSet() method of java.util.Collections class is used to return a synchronized (thread-safe) set backed by the specified set. In order to guarantee serial access, it is critical that all access to the backing set is accomplished through the returned set. Syntax: public static <T> 2 min read Importance of Thread Synchronization in Java Thread synchronization in Java is important for managing shared resources in a multithreaded environment. It ensures that only one thread can access a shared resource at a time, which enhances the overall system performance and prevents race conditions and data corruption.Why is Thread Synchronizati 8 min read Collections synchronizedList() method in Java with Examples The synchronizedList() method of java.util.Collections class is used to return a synchronized (thread-safe) list backed by the specified list. In order to guarantee serial access, it is critical that all access to the backing list is accomplished through the returned list. Syntax: public static < 2 min read Collections synchronizedMap() method in Java with Examples The synchronizedMap() method of java.util.Collections class is used to return a synchronized (thread-safe) map backed by the specified map. In order to guarantee serial access, it is critical that all access to the backing map is accomplished through the returned map. Syntax: public static <K, V 2 min read wait() Method in Java With Examples Inter-Thread communication is a way by which synchronized threads can communicate with each other using the methods namely wait(), notify() and notifyAll(). wait() method is a part of java.lang.Object class. When wait() method is called, the calling thread stops its execution until notify() or notif 3 min read Like