5
在VB .NET中,當您調用RaiseEvent X()時,是處理異步或同步處理的事件X的函數。我的印象是RaiseEvent和事件處理是同步的,除非在另一個線程上明確地創建。我被告知不然。異步處理事件處理程序嗎?
在VB .NET中,當您調用RaiseEvent X()時,是處理異步或同步處理的事件X的函數。我的印象是RaiseEvent和事件處理是同步的,除非在另一個線程上明確地創建。我被告知不然。異步處理事件處理程序嗎?
默認情況下會同步提高事件。由於MulticastDelegates
旨在支持異步調用,因此可以異步調用事件調用列表中的委託,但這不是默認行爲。
我只是做了一些測試也...
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
輸出:
一些功能 - 籌款活動
我的處理程序 - 開始5秒睡眠
我的處理程序 - 到覺醒
一些功能 - 後事件