Answer Posted / javamasque
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 |
Post New Answer View All Answers
What are the advantages of java over C++?
What do you mean by aggregation?
Define an enumeration?
Can we use a default constructor of a class even if an explicit constructor is defined?
What is the right data type to represent a price in java?
Is empty list java?
What is data type example?
What is floor math?
What is string variable?
Is java hashset ordered?
What is the difference between variable & constant?
Can inner class have constructor?
What best practices should you follow while writing multithreaded code in java?
Which is bigger float or double?
What is <> used for in java?