How does synchronized modifier work?

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


Please Help Members By Posting Answers For Below Questions

What are the advantages of java over C++?

713


What do you mean by aggregation?

563


Define an enumeration?

611


Can we use a default constructor of a class even if an explicit constructor is defined?

647


What is the right data type to represent a price in java?

564






Is empty list java?

519


What is data type example?

545


What is floor math?

511


What is string variable?

562


Is java hashset ordered?

575


What is the difference between variable & constant?

537


Can inner class have constructor?

545


What best practices should you follow while writing multithreaded code in java?

541


Which is bigger float or double?

514


What is <> used for in java?

667