Hi guys,
Can anyone tell me what synchronization does in java and how it is implemented, and it is important?
please Help.
Hi guys,
Can anyone tell me what synchronization does in java and how it is implemented, and it is important?
please Help.
Synchronization is best use with the Multi-Threading in Java, Synchronization is the capability to control the access of multiple threads to share resources. Without synchronization it is possible for one thread to modify a shared object while another thread is in the process of using or updating that object's value.This often leads to an error.
Example for Synchronization
public synchronized void enqueue(Object item)
{
// Body of method goes here
}
shorthand notation for
public void enqueue(Object item)
{
synchronized (this)
{
//Body of method goes here
}
}
Hope this will give idea about synchronization and its code implementation.
![]()
The Java programming language provides two basic synchronization idioms: synchronized methods and synchronized statements.
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.
Bookmarks