Race Conditions
Zur Navigation springen
Zur Suche springen
- Eine Race Condition bezeichnet in der Programmierung eine bestimmte Konstellation
- Das Ergebnis einer Operation vom zeitlichen Verhalten bestimmter Einzeloperationen oder der Umgebung abhängt.
- Der Begriff stammt von der Vorstellung, dass zwei Signale wettlaufen, um die Ausgabe als erstes zu beeinflussen.
- Im Allgemeinen ist die Möglichkeit zu vermeiden, dass eine Race Condition entsteht.
- Unbeabsichtigte Wettlaufsituationen sind ein häufiger Grund für schwer auffindbare, nichtdeterministische Programmfehler.
- Bezeichnend für solche Situationen ist, dass bereits die veränderten Bedingungen zum Programmtest, wie zusätzliches Logging oder Debug-Modus
- Zu einem völligen Verschwinden der Symptome führen können, siehe hierzu auch Heisenbug.
- Zur Vermeidung solcher Konstellationen können bei der Programmerstellung beispielsweise Semaphore eingesetzt werden.