Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Difference between Notify and NotifyAll

 
Greenhorn
Posts: 18
Spring
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Report post to moderator
Hello group,

I know that its a very lame question to ask experts like you but still
i cannot help myself asking the question that "What is the Diffrence
Between Notify & NotifyAll
" method in the Object Class.

Well so far my search on the Internet reveals
that 'notify()' method wakes up a single thread waiting on the object
and passes the control of the monitor to it. So far so good and for 'notifyAll()' it says that its will wake up all the threads waiting on the object and will select a thread to pass control to it. Well as per
me during that period the unselected thread will again go back to sleep
in the JVM scheduler list and they will need yet another call to
Notifty (or NotifyAll) in order to wake them up. So, as far as i see
there is no diffrence between notify & notifyall as they both will
result in waking up a single thread waiting on the Object.

If above assertions are indeed true than why to have two diffrent
methods.

Thanks,
Sathish Kumar.G
 
Greenhorn
Posts: 18
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Report post to moderator
notify will wake up one thread and notifyAll will wake up all threads which are waiting on that object.

if you have 3 threads which are waiting on same object.if you call notify one among the 3 will wake up and move to ready queue...but 2 still be in wait mode.

But if you call notifyAll all 3 will wake up and move to ready queue.
 
Ranch Hand
Posts: 58
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Report post to moderator
notify is called on an object to notify a thread which has locked that object,
where as a notifyAll will be called to notify all the threads which are waiting for that object.......
 
Rancher
Posts: 43081
77
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Report post to moderator
Please do not post the same question to multiple forums: CarefullyChooseOneForum

There are now answers in two forums, which is a waste of time and effort for the people who are trying to help you.

Let's continue the discussion in this duplicate thread.
[ February 27, 2008: Message edited by: Ulf Dittmer ]
 
    Bookmark Topic Watch Topic
  • New Topic