gpt4 book ai didi

c# - 为什么要异步回调?

转载 作者:太空宇宙 更新时间:2023-11-03 19:29:42 25 4
gpt4 key购买 nike

我了解到 AsyncCallback 函数将在委托(delegate)调用完成后执行所有后处理任务。我的问题是在 EndInvoke 之后/之下编写后处理任务有什么区别,因为 EndInvoke 将等待委托(delegate)调用返回。

最佳答案

使用委托(delegate)的 BeginInvoke() 方法的要点是目标将异步运行。如果您在 BeginInvoke() 之后立即调用 EndInvoke(),那么使用它就不再有任何意义。通过简单地直接调用委托(delegate),您将获得完全相同的行为,减去开销和线程问题。

该值在目标方法完成时获得回调,在它完成后立即异步。只有然后调用 EndInvoke(),它会立即完成。这会清理系统资源并在目标方法抛出异常时重新抛出异常。不要按照赞成答案中的建议跳过调用 EndInvoke(),您将泄漏资源至少 10 分钟。

关于c# - 为什么要异步回调?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5850758/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com