Asyncrone Events??



  • Hallo Leute,

    ich kann ja ein asyncrones Event mit BeginInvoke bzw. EndInvoke implementieren.

    Was passiert, wenn ich diese Event schneller nacheinander feuere wie es in der Event Funktion bearbeitet werden kann?



  • Dann füllt sich eine nicht näher spezifizierte Queue mit Events an.
    Gibt mehrere Möglichkeiten was dann passieren könnte wenn diese Queue "voll" ist:

    1. BeginInvoke wirft ne Exception um den Fehler anzuzeigen
    2. BeginInvoke blockiert so lange bis ein Eintrag in der Queue frei geworden ist
    3. BeginInvoke verwirft den Event einfach still und leise
      (4) Das ganze Programm wird einfach abgebrochen)
      (5) BeginInvoke liefert null zurück um den Fehler anzuzeigen)

    Möglicherweise irre ich mich, aber ich glaube was BeginInvoke in dem Fall wirklich macht ist nicht dokumentiert. Möglicherweise nichtmal "fix" (sondern "subject to change" sozusagen). Probier's doch einfach aus 🙂


Anmelden zum Antworten