Frage

Diese Frage ist etwas philosophisch und lautet wie „Daten und Code sind dasselbe oder nicht“.

Gibt es einen klaren Unterschied zwischen Ereignis (Signal) und Zustand?

Beispiel:

Zum Beispiel fährt ein Auto an der Straße vorbei.Wenn das Auto hupt, ein Mann (man_A) beim Überqueren der Straße bleibt plötzlich stehen.Horn ist das Signal, „man_A stoppt plötzlich“ ist der Zustand von man_A.

Ein anderer Mann (man_B) überquerte zur gleichen Zeit am selben Ort auch die Straße.

Betrachten wir das man_B war taub, deshalb kann er die Hupe nicht hören.Aber erkennen „man_A „Plötzlich stehen geblieben“ wäre für ihn ein Signal.Er blieb plötzlich stehen, als hätte er die Hupe gehört.

Ich würde also sagen: „Ein Zustand könnte ein Signal für einen anderen Prozess sein.“Ein Signal versetzt einen Prozess in einen anderen Zustand.Deshalb sind sie genau dasselbe.“

Liege ich falsch, gibt es einen klaren Unterschied zwischen ihnen?

Ein Signal ist eine Zustandsänderung.Wir können jedes Signal mit zwei Zuständen definieren.

War es hilfreich?

Lösung

Nun, ein Zustand ist kein Signal, weil ein Signal zu einem bestimmten Zeitpunkt kommt.

Ein Staat-ändern ist das Ergebnis eines Signals und kann als eigenständiges Signal betrachtet werden.Aber es ist nicht der Staat selbst.Der Zustand bleibt bestehen, nachdem das Signal schon lange weg ist.

Wie wäre zum Beispiel der Ausgangszustand ein Signal?

Andere Tipps

Sie sind sehr, sehr unterschiedlich:

  • Das gleiche Ereignis kann je nach aktuellem Zustand zu Übergängen in unterschiedliche Zustände führen:
    Three states with transitions between them, triggered by the same event

  • In SCXML können Sie haben <parallel> Zustände, die orthogonale Regionen definieren.In diesem Fall kann ein einzelnes Ereignis mehrere gleichzeitige Übergänge in verschiedene Zustände auslösen:
    enter image description here

  • Darüber hinaus aufgrund der möglichen Anwesenheit von cond="…" Attribute, ein Übergang in einen anderen Zustand kann oder darf nicht treten auf, wenn sie durch ein Ereignis ausgelöst werden.Jetzt haben wir also ein Ereignis, dessen Status sich möglicherweise nicht ändert.

  • Darüber hinaus ist ein Übergang ohne Nein möglich event Attribut, das eine Zustandsänderung verursacht, sobald ein Datenmodellwert oder ein Skriptergebnis richtig ist.Jetzt haben wir also eine Zustandsänderung, die ohne auslösendes Ereignis stattfinden kann.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top