当前位置: 首页 > 编程语言 > C#

结束BeginInvoke的正确方式是什么?分享

时间:2023-04-11 00:03:04 C#

结束BeginInvoke的正确方法是什么?我最近在MSDN上阅读了这篇文章。所以我正在考虑使用lambda表达式作为调用EndInvoke的方式,只是为了确保一切都很好和整洁。哪个更正确?示例1:操作方法=DoSomething;method.BeginInvoke(5,(a)=>{method.EndInvoke(a);},null);示例2:操作方法=DoSomething;method.BeginInvoke(5,(a)=>{Actionm=a.AsyncStateasAction;m.EndInvoke(a);},方法);您的第二个示例稍微高效一些,因为不必在闭包中捕获“方法”委托实例。我怀疑你是否注意到了。我不知道这是否会在2009年1月回来,但现在你可以这样写:method.BeginInvoke(5,method.EndInvoke,null);您可能想在Haacked的博客上阅读有关此线程的信息。没机会测试,但要点是最后一行:以上是C#学习教程:结束BeginInvoke的正确方法是什么?所有分享的内容,如果对你有用,需要了解更多C#学习教程,希望大家多多关注——ThreadPool.QueueUserWorkItem(callback=>im.Send(to,from,subject,body));本文来自网络收藏,不代表立场,如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: