In meiner Lösung ist natürlich auch ein Lock drin, sonst käme es ja immer zum absoluten Chaos. Das Problem tritt auf, wenn zwei Ereignisse gleichzeitig auftreten, weil dann, wie Neo oben erklärt hat, beide Ereignisse den selben Lock-Zustand signalisiert bekommen, obwohl beide Ereignisse den Lock verändern. Nehmen wir mal das Beispiel, auf den Gleisen A und B wartet ein Zug für die Ausfahrt nach Gleis E. Die Event Bescheibung sieht dann so aus Ereignis 1: Zug auf Gleis A wartet. Bedingung: Lock nicht gesetzt. Aktion: Lock setzen / Zug A nach E freischalten Ereignis 2: Zug auf Gleis B wartet Bedingung: Lock nicht gesetzt. Aktion: Lock setzen / Zug B nach E freischalten Treten jetzt beide Ereignisse gleichzeitig auf, dann passiert nach Neos Beschreibung folgendes: Ereignis 1 ist aufgetreten und die Bedingung ist erfüllt. Die Aktionen "Lock setzen" und "Zug A nach E freischalten" werden in einer Liste vermerkt aber noch nicht ausgeführt. Ereignis 2 ist gleichzeitig aufgetreten und die Bedingung ist ebenfalls erfüllt (Bitte bedenken: Das "Lock setzen" wurde nur vermerkt aber noch nicht ausgeführt). Die Aktionen "Lock setzen" und "Zug B nach E freischalten" werden in einer Liste vermerkt. Jetzt wird alles der Reihe nach ausgeführt: - Lock setzen - Zug A nach E freischalten - Lock setzen - Zug B nach E freischalten und schon krachen die Züge zusammen. Der Lock ist zwar notwendig, für das Problem aber nicht die Lösung. Die Lösung sieht hier so aus, dass verhindert werden muss, dass die beiden Ereignisse gleichzeitig auftreten. In meinem speziellen Fall sieht das so aus: Ich habe einen Timer, der alle 500ms einen Schalter betätigt. Schaltet der Schalter auf "An", so wird Gleis "A" überprüft. Schalter der Schalter auf "Aus", so wird Gleis "B" überprüft. Damit ist sichergestellt, dass die Ereignisse nicht zeitgleich erfolgen können und zu dem Konflikt kann es nicht mehr kommen. Jetzt muss ich nur noch von einem Schalter auf einen Zähler Upgraden, da es ja drei Einfahrtsbereiche gibt, weswegen ich drei Zustände brauche. Andreas P.S.: Im Endeffekt kommt die Geschichte mit dem Schalter aber auf das Gleiche raus, wie die Beschreibung des Timers für den Lock im Wiki Artikel