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 is thread safe java?
What happens if we override only equals?
Is static a keyword in java?
4.1 Supply contracts (in the form of comments specifying pre- and post conditions) for the enqueue() method of the LinkedQueue class given in the Appendix. (2) 4.2 Let Thing be a class which is capable of cloning objects, and consider the code fragment: Thing thing1 = new Thing(); //(1) Thing thing2 = thing1; //(2) Thing thing3 = (Thing) thing1.clone(); //(3) Explain how the objects thing2 and thing3 differ from each other after execution of the statements. (
Can we have multiple classes in single file ?
Why is it called a string?
What is the constructor?
What is isa relationship?
Is null keyword in java?
How many types of gc are there in java?
Can we override the overloaded method?
what is nested class in java?
What is an immutable object?
Can static methods be inherited?
What is byte value?