• Post Reply Bookmark Topic Watch Topic
  • New Topic

object lock  RSS feed

 
Mike Broadbear
Ranch Hand
Posts: 39
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I was wondering about the following example:

Is the lock on object released?
Thanks,
Mike
 
Dave Vick
Ranch Hand
Posts: 3244
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Mike
The lock, in this case, is on the object refered to by the object variable. Once it enters the synchronized block it gets the lock associated with that object and holds it until it leaves the block. As soon as it leaves the block the lock is released.
hope that helped
 
Peter den Haan
author
Ranch Hand
Posts: 3252
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Maybe it's worth amplifying Dave's point: the lock is released as soon as the thread leaves the block, regardless of how it leaves it. Whether it leaves it because the thread moves beyond the last curly brace, or because of a return (as in your code), a break, continue, or an exception, the lock is released.
- Peter
 
It is sorta covered in the JavaRanch Style Guide.
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!