码迷,mamicode.com
首页 > 其他好文 > 详细

invoke和begininvoke 区别

时间:2020-07-17 19:39:55      阅读:76      评论:0      收藏:0      [点我收藏+]

标签:异步处理   ui控件   log   异步   strong   表示   html   str   不同的   

一直对invoke和begininvoke的使用和概念比较混乱,这两天看了些资料,对这两个的用法和原理有了些新的认识和理解。

 首先说下,invoke和begininvoke的使用有两种情况:

  1. control中的invoke、begininvoke。

  2. delegrate中的invoke、begininvoke。  

  这两种情况是不同的,我们这里要讲的是第1种。下面我们在来说下.NET中对invoke和begininvoke的官方定义。

  control.invoke(参数delegate)方法:在拥有此控件的基础窗口句柄的线程上执行指定的委托。

  control.begininvoke(参数delegate)方法:在创建控件的基础句柄所在线程上异步执行指定委托。

  根据这两个概念我们大致理解invoke表是同步、begininvoke表示异步

如果你的后台线程在更新一个UI控件的状态后不需要等待,而是要继续往下处理,那么你就应该使用BeginInvoke来进行异步处理。

如果你的后台线程需要操作UI控件,并且需要等到该操作执行完毕才能继续执行,那么你就应该使用Invoke。

 

原文链接:https://www.cnblogs.com/lsgsanxiao/p/5523282.html

invoke和begininvoke 区别

标签:异步处理   ui控件   log   异步   strong   表示   html   str   不同的   

原文地址:https://www.cnblogs.com/zxdz/p/13332078.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!