Java / Java Multithreading
Difference between synchronizing a static method and a non static method in Java.
Synchronization in Java is basically an implementation of monitors. When synchronizing a non static method, the monitor belongs to the instance. When synchronizing on a static method, the monitor belongs to the class.
A synchronized method acquires a monitor before it executes. For a class (static) method, the monitor associated with the Class object for the methods class is used. For an instance method, the monitor associated with this (the object for which the method was invoked) is used.
More Related questions...