首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >EndInvoke() -可选还是非可选?

EndInvoke() -可选还是非可选?
EN

Stack Overflow用户
提问于 2009-10-29 19:01:09
回答 2查看 787关注 0票数 5

一个异步问题:

我在互联网上读了很多支持和反对Delegate.EndInvoke()可选的文章。这些文章大多有4-5年的历史了。有很多死链接。

在.NET 2.0中,有没有人能解释一下-- EndInvoke()真的可以防止不可避免的内存泄漏吗?如果是,你能具体说明是什么导致了内存泄漏吗?

关于同一主题:如果EndInvoke()确实是必须的--我找到了使用运行EndInvoke()的回调方法来实现“即发即忘”机制的最佳方法。我很乐意听到任何人的不同想法。

谢谢,O

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-10-29 19:11:45

对于Delegate.EndInvoke,您应该调用它。对于Control.EndInvoke,WinForms团队说你不需要调用它。我不知道WPF的等价物是什么,但我认为这样做是一个好主意,除非你有一个非常好的理由相信你不需要这样做。

我在我的threading article中有一些代表的“起火和忘记”代码-大约一半(搜索“起火”)。

票数 8
EN

Stack Overflow用户

发布于 2009-10-29 19:18:11

msdn中:

总是调用EndInvoke来完成异步调用。

我建议你遵循指导原则,即使今天没有泄漏,明天也可能会改变。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1642940

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档