Zitat Zitat von netwarrior Beitrag anzeigen
Wenn aber die Phase auf 1 gesetzt ist, aber der letzte Moment im ParallelEvent (sieht roten Zeiger) z.B. an einer Stelle auf Phase 4 ist. Würde nachdem inkrementieren der Wert auf 2 sein und anstatt bei Phase 1 auf Phase 2 beginnen.
Recht hast du, aber dafür gibts ne Lösung: Bau in das PP eine weitere fork ein, nämlich:
fork (Phase < -5) {Phase = 1}
und hau ein Phase = -10 vor jede PP-Aktivierung, das kann von keinem Phase++ zerstört werden
Zitat Zitat von Cherry Beitrag anzeigen
Es werden nämlich solche Befehle wie Fork oder Change Variable, die nichts grafisch ändern oder auf irgendetwas warten, nie zwischeneinander unterbrochen (außer wenn mehr als 150.000 hintereinander sind oder so, wenn ich mich nicht irre).
Das hast du getestet? Von echten Hochsprachen kenne ich, dass man der Machine nicht trauen darf und außer synchronized-Krams keine Atomarität besteht, andererseits könnte der Maker natürlich auch anders yielden - kann es sein, dass die Wahrscheinlichkeit auf einen schlechten Thread-Wechsel zwischen einer Bedingung und einem Befehl einfach verdammt klein ist?