2009-06-16 7 views

Répondre

6

Les événements sont générés de manière synchrone par défaut. Puisque MulticastDelegates sont conçus pour prendre en charge l'invocation asynchrone, il est possible d'invoquer les délégués dans la liste d'invocation d'un événement de manière asynchrone, mais ce comportement n'est pas le comportement par défaut.

2

Je viens de faire quelques tests aussi ...

Public Sub MyHandler() Handles Complete 
    MsgBox("My Handler - Beginning 5 second sleep") 
    Threading.Thread.Sleep(5000) 
    MsgBox("My Handler - Awoken") 
End Sub 


Public Sub SomeFunction() 
    MsgBox("Some function - Raising Event") 
    RaiseEvent Complete() 
    MsgBox("Some function - After Event") 
End Sub 

Sortie:
Certaines fonctions - Augmenter l'événement
Mon Handler - Début 5 secondes sommeil
Mon Handler - Awoken
Certaines fonctions - Après Événement

Questions connexes