How does synchronized modifier work?
Synchronized is used to make a resource thread safe. If an object or resources is accessed by more than one thread, then these should be under synchronization. Only method and block can be synchronized.
Synchronized method
• As an instance method is synchronized then, the object is locked for a period of time as a thread is accessing the method.
• As a class method (static) is synchronized then, whole class is locked for a period of time as a thread is accessing the class method.
Synchronized block
• A particular set of statements (lines of codes) inside method or block is synchronized with synchronized block.
• An object reference is passed inside synchronized block to make a particular set of statements inside instance method or block.
synchronized (this){
}
• If a particular set of synchronized statements inside instance method or block is accessed by a thread then whole object is locked.
• A class reference is passed inside synchronized block to make a particular set of statements inside static method or block.
Synchronized (Class.class){
}
| Is This Answer Correct ? | 4 Yes | 0 No |
what is predefined function in java?
Is 0 a real number?
Give the hierarchy of inputstream and outputstream classes.
Differentiate between the constructors and methods in java?
When is the finally clause of a try-catch-finally statement executed?
What is the difference between a factory and abstract factory pattern?
How do you read a char in java?
What is the collections api?
What do you mean by platform independence? What is an interface?
How to run a JAR file through command prompt?
What is the largest number a double can hold?
Why is static used?