Question

Cette question est un peu philosophique et ressemble à "les données et le code sont la même chose ou pas".

Y a-t-il une différence claire entre un événement (signal) et un état ?

Exemple:

Par exemple, une voiture passe sur la route.Quand la voiture klaxonne, un homme (man_A) qui traverse la route s'arrête brusquement.Le klaxon est le signal, "man_A s'arrête brusquement" est l'état de man_A.

Un autre homme (man_B) traversait aussi la route au même moment, au même endroit.

Considérons que man_B était sourd, donc il n'entend pas le klaxon.Mais réaliser "man_A arrêté brusquement" serait pour lui un signal.Il s'arrêtait brusquement comme s'il entendait le klaxon.

Je dirais donc « Un État pourrait être le signal d’un autre processus.Un signal met un processus dans un autre état.C'est pourquoi c'est exactement la même chose"

Est-ce que je me trompe, y a-t-il une différence nette entre eux ?

Un signal est un changement d'état.Nous pouvons définir n'importe quel signal avec deux états.

Était-ce utile?

La solution

Eh bien, un état n’est pas un signal car un signal arrive à un moment précis.

Un état-changement est le résultat d’un signal et peut être considéré comme un signal en soi.Mais il ne s’agit pas de l’État lui-même.L’État continue de l’être même après que le signal ait disparu depuis longtemps.

Comment l'état initial serait-il un signal, par exemple.

Autres conseils

Ils sont très, très différents :

  • Le même événement peut provoquer des transitions vers différents états, en fonction de l'état actuel :
    Three states with transitions between them, triggered by the same event

  • En SCXML, vous pouvez avoir <parallel> états définissant des régions orthogonales.Dans ce cas, un seul événement peut déclencher plusieurs transitions simultanées vers différents états :
    enter image description here

  • De plus, en raison de la présence possible de cond="…" attributs, une transition vers un autre état peut ou peut pas se produire lorsqu’il est déclenché par un événement.Nous avons donc maintenant un événement qui pourrait ne pas changer d'état.

  • De plus, il est possible d'avoir une transition sans event attribut, provoquant un changement d'état dès qu'une valeur de modèle de données ou un résultat de script est correct.Nous avons donc maintenant un changement d’état qui peut avoir lieu sans événement déclencheur.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top