In
computer science,
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.