WPF Invoke与BeginInvoke的区别
- Control.Invoke 方法 (Delegate) :在拥有此控件的基础窗口句柄的线程上执行指定的委托。
- Control.BeginInvoke 方法 (Delegate) :在创建控件的基础句柄所在线程上异步执行指定委托。
就是一个是同步的一个是异步的,也就是一个需要等待一个不需要等待
//这个输出123private void button1_Click(object sender, RoutedEventArgs e) {textblock.Text += "1";this.Dispatcher.Invoke(new InvokeDelegate(Test));textblock.Text += "3";}private void Test() {textblock.Text += "2";}private delegate void InvokeDelegate();//这个输出132private void button1_Click(object sender, RoutedEventArgs e) {textblock.Text += "1";this.Dispatcher.BeginInvoke(new InvokeDelegate(Test));textblock.Text += "3";}private void Test() {textblock.Text += "2";}
Invoke是线程中比较重要的一个东西,在多线程的编程中,平常在更新界面的时候,可以用UI线程去做来减轻工作线程的负担。比如下面这样放在线程中:
private void button1_Click(object sender, RoutedEventArgs e) {Thread invokeThread = new Thread(new ThreadStart(Method));invokeThread.Start();//...运算代码 }private void Method(){this.Dispatcher.BeginInvoke(new InvokeDelegate(Test));}private void Test() {textblock.Text += "123";}private delegate void InvokeDelegate();
简单写法如下:
private void button_Click(object sender, RoutedEventArgs e) {this.Dispatcher.BeginInvoke(new Action(() => { this.textblock.Text += "123"; }));}
转载于:https://www.cnblogs.com/zyj649261718/p/8317254.html
WPF Invoke与BeginInvoke的区别相关推荐
- C#:invoke 与 BeginInvoke使用区别
invoke和begininvoke 区别 一直对invoke和begininvoke的使用和概念比较混乱,这两天看了些资料,对这两个的用法和原理有了些新的认识和理解. 首先说下,invoke和beg ...
- C#中Invoke 和 BeginInvoke 的区别
Invoke 和 BeginInvoke 的真正涵义 .在多线程中如何调用Winform Control.Invoke 方法 (Delegate) :在拥有此控件的基础窗口句柄的线程上执行指定的委托. ...
- C#中的delegate的 Invoke 、BeginInvoke的区别
事情是这样的,我看到了以下的一段代码,才引发了对这个问题的思考.代码如下: 1 using UnityEngine; 2 using UnityEditor; 3 4 public class Cus ...
- C#——invoke和begininvoke 区别
invoke和begininvoke 区别 一直对invoke和begininvoke的使用和概念比较混乱,这两天看了些资料,对这两个的用法和原理有了些新的认识和理解. 首先说下,invoke和beg ...
- C#中Invoke 和 BeginInvoke的涵义和区别
BeginInvoke 方法真的是新开一个线程进行异步调用吗? 参考以下代码: public delegate void treeinvoke(); private void UpdateTreeVi ...
- 【分析】浅谈C#中Control的Invoke与BeginInvoke在主副线程中的执行顺序和区别(SamWang)
今天无意中看到有关Invoke和BeginInvoke的一些资料,不太清楚它们之间的区别.所以花了点时间研究了下. 据msdn中介绍,它们最大的区别就是BeginInvoke属于异步执行的. Cont ...
- 浅谈C#中Control的Invoke与BeginInvoke在主副线程中的执行顺序和区别
今天无意中看到有关Invoke和BeginInvoke的一些资料,不太清楚它们之间的区别.所以花了点时间研究了下. 据msdn中介绍,它们最大的区别就是BeginInvoke属于异步执行的. Cont ...
- C#的Invoke与BeginInvoke区别
[分析]浅谈C#中Control的Invoke与BeginInvoke在主副线程中的执行顺序和区别(SamWang) 今天无意中看到有关Invoke和BeginInvoke的一些资料,不太清楚它们之间 ...
- c# Invoke和BeginInvoke 区别
转自http://www.cnblogs.com/c2303191/articles/826571.html Control.Invoke 方法 (Delegate) :在拥有此控件的基础窗口句柄的线 ...
最新文章
- html5搜索框美化,CSS美化的漂亮搜索框
- JAVA-最常用的A题语法
- pmp每日三题(2022年3月14日)
- 【MS Word技巧】word如何批量把括号内字体变绿?
- 文件字符输入流的使用 FileReader java
- DesiredCapabilities内容详解(摘)
- 如何修改layui数据表格绑定的开关事件?
- 每周荐书:Swift、Java、React(评论送书)
- 精通Linux Unix Shell编程电子书免费分享
- 自从硬派网倒闭后,就没有什么好看的IT硬件网站了
- Android Studio中AndroidManifest.xml文件中application标签
- 手机怎么录游戏视频 手机屏幕录制的方法
- 微博音视频下载与合并
- NCRE公共基础知识(一) 计算机系统
- Golang iota踩坑
- Connect to maven.google.com:443 [maven.google.com] failed: Connection timed out: connect 解决办法
- 虹科案例 | 空调故障无冷气,且没有故障码
- 数组指针应用(输入字母 查找以此字母开头的单词)
- 抓包和网络镜像 华为交换机S2300
- 多分类学习与类别不均衡