what is syncronisation
Synchronization in Java is a tool which is used for preventing the errors like : thread interference and memory consistency. These errors are made because of the communication type used by the Java Threads however, the communication type used by the threads are extremely efficient. Java Threads communicate by sharing access to fields and the objects reference fields refer to.
For detail tutorial you can go through the following link :