C# 委托的三种调用示例(同步调用 异步调用 异步回调)
同步调用也可以叫阻塞调用,它将阻塞当前线程,然后执行调用,调用完毕后再继续向下进行。可以看到,主线程并没有等待,而是直接向下运行了。异步回调用回调函数,当调用结束时会自动调用回调函数,解决了为等待调用结果,而让线程依旧被阻塞的局面。我定义的委托的类型为AddHandler,则为了访问 AddHandler.EndInvoke,必须将异步委托强制转换为 AddHandler。可以在异步回调函数中调用 MAddHandler.EndInvoke,以获取最初提交的 AddHandler.BeginInvoke 的结果。所以Invoke方法的参数和返回值和调用他的委托应该是一致的。
用户评论