"Acquiring a monitor", "locking an object", "acquiring a lock on an object", "synchronizing on an object" - those all mean the same thing, essentially. I'm not going to explain in detail, as I assume you have some book that you're learnign from. (If not, you can use Thinking In Java - chapter 14 talks about synchronization. If you have more specific questions about locking, you can post them here.
All objects in java have a lock. Another term for lock is monitor. All classes have lock too. so you have object level lock and class level lock. When compiler encounters any code surrounded by 'synchronized' keyword, It means that it make sure that a thread would acquirer lock/monitor first before actually entering to "synchronized block".
This way threads synchronize with each other on shared data.
For more details: Pls refer Khalid Mughal's book on java.
All of the world's problems can be solved in a garden - Geoff Lawton. Tiny ad:
RavenDB is an Open Source NoSQL Database that’s fully transactional (ACID) across your database