https://blog.csdn.net/yinweimumu/article/details/80582139
上面博文中看到这么一句话:
那能不能不调用EndInvoke,让它自己结束呢?不太好。因为一来BeginInvoke和EndInvoke必须成对调用。即使不需要返回值,但EndInvoke还是必须调用,否则可能会造成内存泄漏,因为它是利用了线程池资源。二来往往要调用EndInvoke来获得函数的返回值。
https://bbs.csdn.net/topics/392177091?page=1
在论坛看到如下内容:
不加EndInvoke,异常没捕捉到:

加EndInvoke,异常捕捉到了:

对于这样的委托对象来说,一旦用完了,很快(几秒钟之后)GC 就回收了一切。
本身C#就有自动回收,所以EndInvoke并不需要和BeginInvoke成对使用。
探讨C#中BeginInvoke和EndInvoke的使用,解析两者是否必须配对调用及EndInvoke对线程池资源的影响,同时分析异常处理与垃圾回收机制的关系。
1335

被折叠的 条评论
为什么被折叠?



