September 2019
Intermediate to advanced
816 pages
18h 47m
English
Locking at object level can be achieved by marking a non-static block of code or non-static method (the lock object for that method's object) with synchronized. In the following examples, only one thread at a time will be allowed to execute the synchronized method/block on the given instance of the class:
public class ClassOll { public synchronized void methodOll() { ... }}
public class ClassOll { public void methodOll() { synchronized(this) { ... } }}
public class ClassOll { private final Object ollLock = new Object(); public void methodOll() { synchronized(ollLock) { ... } }}