What is the difference between Synchronizing mehtod &
Synchronizing block?
Answers were Sorted based on User's Feedback
Answer / anjani kumar jha
In syncronizing block the object is locked.
In Syncronozing the method the method is
locked........means only one at a time only one thread can
use that method.
Thanks and Regards
Anjani Kumar Jha
9623154095
Is This Answer Correct ? | 2 Yes | 2 No |
The Java programming language provides two basic
synchronization idioms: synchronized methods and
synchronized statements.
The more complex of the two, synchronized statements, are
described in the next section. This section is about
synchronized methods.
To make a method synchronized, simply add the synchronized
keyword to its declaration:
public class SynchronizedCounter {
private int c = 0;
public synchronized void increment() {
c++;
}
public synchronized void decrement() {
c--;
}
public synchronized int value() {
return c;
}
}
If count is an instance of SynchronizedCounter, then making
these methods synchronized has two effects:
First, it is not possible for two invocations of
synchronized methods on the same object to interleave. When
one thread is executing a synchronized method for an
object, all other threads that invoke synchronized methods
for the same object block (suspend execution) until the
first thread is done with the object.
Second, when a synchronized method exits, it automatically
establishes a happens-before relationship with any
subsequent invocation of a synchronized method for the same
object. This guarantees that changes to the state of the
object are visible to all threads.
Note that constructors cannot be synchronized — using the
synchronized keyword with a constructor is a syntax error.
Synchronizing constructors doesn't make sense, because only
the thread that creates an object should have access to it
while it is being constructed.
Is This Answer Correct ? | 0 Yes | 3 No |
Should you use singleton pattern?
Is null false in java?
what is servlet enginee?
What are virtual methods?
Explain class A{} class B{} class C{} all the three classes are saved in a single file name, what the name should i provide to the file ,in what file name should i run the program? Ple Explain
What is difference between add() and addelement() in vector?
FOR EXAMPLE WE R HAVING TWO LIST ELEMENTS ..BOTH LISTS CONTAINS ID,NAME,PLACE ..I NEED TO COMPARE BOTH IDS IN TWO LISTS,IF ID'S R SAME MEANS WE HAVE ADD THE DETAILS(LIKE NAME,PLACE) TO MAP...HOW IS POSSIBLE ?CAN ANY ONE SUGGEST?
What is static method with example?
What are reference variables in java?
Diff between Comparator and Comparable?
What is difference between checked and unchecked exception in java?
Why set do not allow duplicates in java?