object lock

Mike Broadbear

Ranch Hand

Posts: 39

posted 15 years ago

I was wondering about the following example:

Is the lock on object released? Thanks, Mike

Dave Vick

Ranch Hand

Posts: 3244

posted 15 years ago

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

Dave

Peter den Haan

author
Ranch Hand

Posts: 3252

posted 15 years ago

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