This week's book giveaway is in the Mac OS forum.
We're giving away four copies of a choice of "Take Control of Upgrading to Yosemite" or "Take Control of Automating Your Mac" and have Joe Kissell on-line!
See this thread for details.
The moose likes Programmer Certification (SCJP/OCPJP) and the fly likes what all ways a Thread can leave a lock on Object Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


JavaRanch » Java Forums » Certification » Programmer Certification (SCJP/OCPJP)
Bookmark "what all ways a Thread can leave a lock on Object" Watch "what all ways a Thread can leave a lock on Object" New topic
Author

what all ways a Thread can leave a lock on Object

Vivek Nidhi
Ranch Hand

Joined: Aug 10, 2003
Posts: 133
hello there
Suppose a Threads enter a sychronised block, the lock is release when the Thread dies in it and also when the thread comes out of the sychronised block.
ANY OTHER CASES THE LOCK CAN BE RELEASED
Vivek Nidhi
David Hadiprijanto
Ranch Hand

Joined: Sep 14, 2003
Posts: 52
Another way the lock can be release if the thread invoke a wait method of the same object whose lock is the same.
The code below if run as expected will result in :
Thread A - waiting to be notified.
Main Thread: About to notify a.
Thread A - has been notified.
It demonstrates that A releases the lock (of itself) when it invokes the wait() method and allow the Main Thread to enter the synchronized(a) block.

P.S. : There is a little guarantee in Thread behavior, hence, I am undermining the sleep() method in the code above for the sake of demonstration only.
Vivek Nidhi
Ranch Hand

Joined: Aug 10, 2003
Posts: 133
Thanks Boss
regs
Vivek Nidhi
 
GeeCON Prague 2014
 
subject: what all ways a Thread can leave a lock on Object