Winform 关于委托与Invoke和Begin Invoke的使用
2020-11-18 01:48
标签:winform com http blog c log t sp art html re 这方面的文章已经写得很详细了,特地摘引两篇文章 http://www.cnblogs.com/c2303191/articles/826571.html http://www.cnblogs.com/EasonLeung/p/3683492.html http://www.cnblogs.com/Rustle/articles/11301.aspx 然后我想把自己的理解记录下来,做一个笔记。 1.Control的Invoke和BeginInvoke的委托方法是在主线程,即UI线程上执行的,异步是指相对于调用BeginInvoke的线程异步,而不是相对于UI线程异步,BeginInvoke的原理是将调用的方法Marshal成消息,然后调用Win32
API中的RegisterWindowMessage()向UI窗口发送消息 2.委托的执行过程类似于线程的执行(实际上本质就是线程),当委托被Invoke以后,程序会开启一个异步线程执行委托,当委托执行完毕时线程自动终止 3.Invoke 和 BeginInvoke 就是为了解决在多线程中安全的更新界面显示而出现的。 将工作线程中涉及更新界面的代码封装为一个方法,通过 Invoke 或者 BeginInvoke
去调用,两者的区别就是一个导致工作线程等待,而另外一个则不会(工作线程即UI线程) 4.在新的线程中使用Invoke和BeginInvoke这种方式,其调用的委托其实相当于“注入”到了主控制线程中,它取得了主线程的控制 5.主线程表示Control.Invoke或Control.BeginInvoke中Control所在的线程,即创建该Control的线程。(一般为UI线程) 支线程表示调用Invoke或BeginInvoke的线程。 Winform 关于委托与Invoke和Begin Invoke的使用,搜素材,soscw.com Winform 关于委托与Invoke和Begin Invoke的使用 标签:winform com http blog c log t sp art html re 原文地址:http://www.cnblogs.com/wanglg/p/3701788.html
上一篇:Windows 错误代码
文章标题:Winform 关于委托与Invoke和Begin Invoke的使用
文章链接:http://soscw.com/index.php/essay/21769.html