Donnerstag, 3. Oktober 2013
Update #03102013 WaitState und asynchronität
Das Multithreadingkonzept der EVAGUI2 wurde überarbeitet.
Durch die asychronität der Prozesse funktionierte der Waitstate (Event - Wait = True) nicht mehr.
Folgende Multithreading-Architektur wurde nun implementiert:
Start -> Deamons (als asynchroner Thread)
Click -> Programm (als asynchroner Thread)
Time -> Programm (als asynchroner Thread)
wenn aus den Threads heraus nun ein Event getriggert wird, so werden die Prozesse in folgendem
Ablauf gestartet:
Regel (1...n) -> (synchron in Thread) -> Applikation (Wait = False) (asynchron in Thread)
Regel (1...n) -> (synchron in Thread) -> Applikation (Wait = True) (synchron in Thread)
Aus der Applikation heraus werden die Regeln und Threads im gleichen Ablauf gestartet.
laufende Deamons ignorieren den Waitstate, da diese niemals beendet werden und somit keine
Freigabe an den übergoerdneten Regel-Thread gesendet wird.
Der WaitState einer Applikation in einem Threads beeinflusst somit nur den Thread der Applikation
und keine anderen Threads die parallel in anderen Threads laufen.
Abonnieren
Kommentare zum Post (Atom)
Keine Kommentare:
Kommentar veröffentlichen