Locking at the object level

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:

  • Synchronized method case:
public class ClassOll {
public synchronized void methodOll() {
...
}
}
  • Synchronized block of code:
public class ClassOll {
public void methodOll() {
synchronized(this) {
...
}
}
}
  • Another synchronized block of code:
public class ClassOll {

private final Object ollLock = new Object();
public void methodOll() {
synchronized(ollLock) {
...
}
}
}
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
13.59.227.82