比方說,我有一個事件Tick
我稱之爲:當你給他們打電話時,事件是阻塞還是非阻塞?
public class Test
{
public event Action Tick;
public void Test()
{
Tick();
Console.WriteLine("Tick Finished");
}
}
如果我已經預訂Tick
事件的負載,將這個線程運行Test()
的操作被阻塞,直到他們都被稱爲或不它異步執行此操作?
類似的問題:http://stackoverflow.com/questions/1049844/are-public-events-asynchronous-do-they-execute-on-a-separate-thread – HABJAN 2011-04-02 14:08:02
@HABJAN:謝謝 – 2011-04-02 14:10:13
事件阻塞(這意味着它們與調用它們的線程同步運行)。但他們只是委託,所以你可以使用'BeginInvoke'使它們異步。查看更多信息[這裏](http://msdn.microsoft.com/en-us/magazine/cc301332.aspx)。 – 2011-04-02 14:11:55