aspose file tools*
The moose likes Threads and Synchronization and the fly likes Regarding Notify Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Spring in Action this week in the Spring forum!
JavaRanch » Java Forums » Java » Threads and Synchronization
Bookmark "Regarding Notify" Watch "Regarding Notify" New topic
Author

Regarding Notify

Saral Saxena
Ranch Hand

Joined: Apr 22, 2011
Posts: 202

Hi Folks..

I was going through threads and I read that ..The notify() method is used to send a signal to one and only one of the threads that are waiting in that same object's waiting pool. The method notifyAll() works in the same way as notify(), only it sends the signal to all of the threads waiting on the object....Now my query is that if Lets say I have 5 threads waiting and through Notify() , i want to send to notification to thread 3 only, what logic should be there that notification is sent to thread 3 only ..!!

I have come up with the code..




The ouput will be...


Thread-0 going to wait...
Thread-3 going to wait...
Thread-2 going to wait...
Thread-4 going to wait...
Thread-1 going to wait...
Thread-2 woken up!
Done!


So you can clearly see that only the third thread (indexed from zero) is woken up.

But please advise me any simpler code to achieve the same thing as this code is still not clear to me, ..!!
Steve Luke
Bartender

Joined: Jan 28, 2003
Posts: 4181
    
  21

Simpler code would include the use of Locks and Conditions, rather than Object.wait() and Object.notify(). See The High Level Concurrency Tutorial for info on how to use them. Pseudo-codish example might be:



Steve
 
wood burning stoves
 
subject: Regarding Notify