Laden...

Event soll warten bist vorheriges Event fertig ist

Erstellt von DarkNight vor 11 Jahren Letzter Beitrag vor 11 Jahren 916 Views
D
DarkNight Themenstarter:in
1 Beiträge seit 2013
vor 11 Jahren
Event soll warten bist vorheriges Event fertig ist

Halllo Leute,

ich bin schon am verzweifeln.
Mein Problem: Ich würde gernen mein ErstesEvent Raisen und warten bis alle Klassen die dieses Event verwenden fertig sind und dann erst mein zweites Event Raisen.

Meine Farge ist das überhaupt möglich?
Wenn ja wie kann ich das machen?

Vielen Dank schonmal im vorraus.

16.806 Beiträge seit 2008
vor 11 Jahren

Vllt erklärst Du erst mal den Sinn dahinter.

49.485 Beiträge seit 2005
vor 11 Jahren

Hallo DarkNight,

Events werden synchron ausgeführt. Es passiert also automatisch, was du willst. Zumindest wenn du mit "warten bis alle Klassen die dieses Event verwenden fertig sind" meinst, dass auf die Aufführung der EventHandler, die für das Event registriert wurden, gewartet werden soll.

Sollte das wirklich gewesen sein, was du wissen wolltest, beachte bitte [Hinweis] Wie poste ich richtig? Punkt 1.1.1.

herbivore

4.221 Beiträge seit 2005
vor 11 Jahren

Events werden synchron ausgeführt. Es passiert also automatisch, was du willst.

Mit der Einschränkung, dass dies nur so ist, wenn die Events nicht aus eigenen Threads geworfen werden.

Gruss
Programmierhans

Früher war ich unentschlossen, heute bin ich mir da nicht mehr so sicher...

49.485 Beiträge seit 2005
vor 11 Jahren

Hallo Programmierhans,

auch dann werden sie synchron ausgeführt ... natürlich synchron zu dem Thread, der sie feuert. Wenn also dieser bewusste Thread die beiden Events hintereinander feuert, wird das zweite Event trotzdem erst ausgeführt, wenn alle EventHandler des ersten Events abgearbeitet wurden. Und darum ging es ja.

Dein Einwand würde also nur zum Tragen kommen, wenn das eine Event aus dem einen und das zweite Event aus einem anderen Thread gefeuert werden würde. Dafür sehe ich aber keine Anhaltspunkte.

Ich gehe dabei natürlich von normalen Events aus. Also nicht von solchen, die die Ausführung explizit an andere Threads delegieren, wie das z.B. bei den Events des BackgroundWorkers der Fall ist. Wenn man ein Event nach dem Muster in [FAQ] Eigenen Event definieren / Information zu Events (Ereignis/Ereignisse) implementiert, hat man so ein normales Event. Eine Delegierung an andere Threads müsste man explizit implementieren.

herbivore