File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Threads and Synchronization and the fly likes Please explain Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Threads and Synchronization
Bookmark "Please explain" Watch "Please explain" New topic

Please explain

dedcat achi

Joined: Jun 22, 2008
Posts: 11
Can someone please explain this:

"A thread can acquire more than one lock. For example, a thread can enter a synchronized method, thus acquiring a lock, and then immediately invoke a synchronized method on a different object, thus acquiring that lock as well."

Can you please give an example this to explain the above statement.

Ray Hsieh
Ranch Hand

Joined: Sep 20, 2000
Posts: 59
When a thread acquires a lock, it prevents other threads from acquiring the same lock until it has released the lock. A thread can acquire the same lock multiple times (locks in Java are reentrant), for instance:

A thread can also acquire one lock, and then proceed to acquire another lock, like this:

dedcat achi

Joined: Jun 22, 2008
Posts: 11
Thanks for that!!
I agree. Here's the link:
subject: Please explain
It's not a secret anymore!