Synchronisationsmechanismen
Synchronisationsmechanismen sind Mittel zur Koordination von Abläufen in Systemen mit mehreren konkurrierenden Einheiten, etwa Threads, Prozessen oder Knoten in verteilten Systemen. Sie dienen dem Schutz gemeinsamer Ressourcen, der Reihenfolge von Ereignissen und der Einhaltung von Abhängigkeiten, um Inkonsistenzen und Race Conditions zu vermeiden.
Die Mechanismen lassen sich grob in zwei Kategorien einteilen: zeitliche Synchronisation (Sequenzierung von Ereignissen) und gegenseitiger
In verteilten Systemen kommen auch Protokolle zur Konsensbildung und Synchronisation zwischen Knoten hinzu, etwa Paxos oder
Typische Problemfelder sind Deadlocks, Livelocks und Starvation; ihre Vermeidung erfordert sorgfältige Gestaltung von Ressourcen- und Zeitplänen,
Durch geeignete Synchronisation lassen sich robuste, deterministische Abläufe auch in Mehrbenutzer- oder Multikern-Systemen sicher implementieren.