比方说,我有一个事件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