synchronization refers to one of two distinct but related concepts: synchronization of processes, and synchronization of data
Process synchronization refers to the idea that multiple processes are to join up or handshake at a certain point, in order to reach an agreement or commit to a certain sequence of action.
Data synchronization refers to the idea of keeping multiple copies of a dataset in coherence with one another, or to maintain data integrity.
Process synchronization primitives are commonly used to implement data synchronization.