Synchronisierung

Moderne Betriebssysteme erlauben die (quasi-)gleichzeitige Ausführung mehrerer Prozesse bzw. Threads. Wenn nebenläufige Threads auf unteilbare Ressourcen zugreifen, müssen sie ihren Zugriff synchronisieren. Das läuft in der Regel darauf hinaus, dass die Threads nacheinander auf die Ressource zugreifen.
 
Synchronisierung lässt sich durch spezielle abstrake Datentypen erreichen, wie

dem Semaphor,
dem Mutex,
dem Future oder
threadsicheren Warteschlangen (siehe Grand Central Dispatch).

Synchronisierungsmöglichkeiten können auch in die verwendete Programmiersprache integriert sein, wie

der Monitor oder
das Rendezvous.