【发布时间】:2012-09-23 10:31:22
【问题描述】:
我们是否需要在调用委托 BeginInvoke() 后调用 EndInvoke() 并关闭等待句柄,即使我们不需要等待结果? 如果不这样做会导致资源泄漏吗?
【问题讨论】:
标签: c# .net asynchronous delegates .net-2.0
我们是否需要在调用委托 BeginInvoke() 后调用 EndInvoke() 并关闭等待句柄,即使我们不需要等待结果? 如果不这样做会导致资源泄漏吗?
【问题讨论】:
标签: c# .net asynchronous delegates .net-2.0
是的;你总是需要打电话给EndInvoke()。
否则,.Net 将永远保留结果,以防您最终调用 EndInvoke()。
如果您想要“一劳永逸”的异步调用(或者即使您不想要),您应该使用 Task 类,这样会更好。
【讨论】: