Differences between wait() and join() methods in Java Last Updated : 11 Jul, 2025 Comments Improve Suggest changes 11 Likes Like Report The wait() and join() methods are used to pause the current thread. The wait() is used in with notify() and notifyAll() methods, but join() is used in Java to wait until one thread finishes its execution. wait() is mainly used for shared resources, a thread notifies other waiting thread when a resource becomes free. On the other hand join() is used for waiting a thread to die. Similarities between wait() and join() The method wait() and join() both are used to pause the current thread in Java.Both wait() and join() can be interrupted by calling interrupt() method in Java.Both wait() and join() are a non-static method.Both wait() and join() are overloaded in Java. wait() and join() which without timeout as well as accepts a timeout parameter. Difference between wait() and join() method Most obvious difference, both are present different packages, the wait() method is declared in java.lang.Object class while join() is declared in java.lang.Thread class.The wait() is used for inter-thread communication while the join() is used for adding sequencing between multiple threads, one thread starts execution after first thread execution finished.We can start a waiting thread (went into this state by calling wait()) by using notify() and notifyAll() method but we can not break the waiting imposed by join without unless or interruption the thread on which join is called has execution finished.One most important difference between wait() and join() that is wait() must be called from synchronized context i.e. synchronized block or method otherwise it will throw IllegalMonitorStateException but On the other hand, we can call join() method with and without synchronized context in Java. Let us understand the differences in a tabular form -: wait()join()It is a method of java.lang.Object class.It is a method of java.lang.wait() method can be called by a synchronized block or method.It is used to stop the current thread.wait() method is implemented for performing multi-thread-synchronization.It can be called either with synchronized and without synchronized context. Its syntax is -: public final void wait() throws InterruptedException Its syntax is -: public final void join() throws InterruptedException wait() method causes the thread to sleep until notify() and notifyAll() are calledIt can be used to add sequence among more than one thread Comment R rajput-ji Follow 11 Improve R rajput-ji Follow 11 Improve Article Tags : Java Technical Scripter Difference Between Technical Scripter 2018 Java-Multithreading +1 More Explore Java BasicsIntroduction to Java3 min readJava Programming Basics9 min readJava Methods6 min readAccess Modifiers in Java4 min readArrays in Java7 min readJava Strings8 min readRegular Expressions in Java3 min readOOP & InterfacesClasses and Objects in Java9 min readAccess Modifiers in Java4 min readJava Constructors4 min readJava OOP(Object Oriented Programming) Concepts10 min readJava Packages7 min readJava Interface7 min readCollectionsCollections in Java12 min readCollections Class in Java13 min readCollection Interface in Java4 min readIterator in Java4 min readJava Comparator Interface4 min readException HandlingJava Exception Handling6 min readJava Try Catch Block4 min readJava final, finally and finalize4 min readChained Exceptions in Java3 min readNull Pointer Exception in Java5 min readException Handling with Method Overriding in Java4 min readJava AdvancedJava Multithreading Tutorial3 min readSynchronization in Java7 min readFile Handling in Java4 min readJava Method References9 min readJava 8 Stream Tutorial7 min readJava Networking6 min readJDBC Tutorial5 min readJava Memory Management4 min readGarbage Collection in Java6 min readMemory Leaks in Java3 min readPractice JavaJava Interview Questions and Answers15+ min readJava Programs - Java Programming Examples7 min readJava Exercises - Basic to Advanced Java Practice Programs with Solutions5 min readJava Quiz1 min readJava Project Ideas For Beginners and Advanced15+ min read Like