Submitted Questions

  • wait(), notify() and notyfyAll() methods

    Why wait(), notify() and notyfyAll() methods are avialble in Object class but not in Thread class? Explain.

    Star Read Best Answer

    Editorial / Best Answer

    janswain  

    • Member Since Sep-2008 | Sep 25th, 2008


    Each object in java is associated with a lock and the wait and notify methods are not associated with a thread but with a lock, so coupling locks and objects meant that each object should have wait and notify methods that operate on that object’s lock.

    Java provides a way to lock the code for a thread which is currently executing it using the synchorinized keyword, and making other threads that wish to use it wait until the first thread is finished.These other threads are placed in the waiting state .Once the first thread completes it task than it notifies others in the queue by giving the lock to JVM.Now JVM decides which thread will exceute next by its internal algo.Hence, the wait and notify methods has to be in Object class as it acquires lock and has to notify others.....