What is "synchronization"
In computer science, synchronization refers to two distinct but related concepts: process synchronization, and data synchronization.
Process synchronization refers to the idea that several processes are joining or "shaking hands" at a certain point, so as to reach an agreement or commit to a particular sequence of action.
Data synchronization refers to the idea of keeping multiple copies of one data set consistent with the other, or to maintain data integrity.
Process synchronization primitives are commonly used to implement data synchronization.