• Control.Invoke 方法 (Delegate) :在拥有此控件的基础窗口句柄的线程上执行指定的委托。
  • Control.BeginInvoke 方法 (Delegate) :在创建控件的基础句柄所在线程上异步执行指定委托。

    就是一个是同步的一个是异步的,也就是一个需要等待一个不需要等待

//这个输出123
private void button1_Click(object sender, RoutedEventArgs e) {
textblock.Text += "";
this.Dispatcher.Invoke(new InvokeDelegate(Test));
textblock.Text += "";
} private void Test() {
textblock.Text += "";
} private delegate void InvokeDelegate(); //这个输出132
private void button1_Click(object sender, RoutedEventArgs e) {
textblock.Text += "";
this.Dispatcher.BeginInvoke(new InvokeDelegate(Test));
textblock.Text += "";
} private void Test() {
textblock.Text += "";
}

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 += "";
} private delegate void InvokeDelegate();

简单写法如下:

private void button_Click(object sender, RoutedEventArgs e) {
this.Dispatcher.BeginInvoke(new Action(() => { this.textblock.Text += ""; }));
}

最新文章

  1. Atitit 会话层和表示层的异同
  2. SQL语法
  3. IOS--UIAlertView造成屏幕闪烁
  4. android键盘弹出头部上移处理
  5. css巧妙实现分隔线
  6. DEELX 正则表达式引擎(v1.2)
  7. SQL基础(1)-创建及修改表
  8. The Economist
  9. 部分android手机CCEditBox输入之后键盘输入框不消失得问题
  10. Hadoop MapReduce概念学习系列之mr程序组件全貌(二十)
  11. DUIEngine使用Visual Studio 2010编译Debug_Dll版有关Error MSB3073错误解决方案
  12. An update on OS X Code Signing(OS X代码签名)
  13. Ganglia 入门介绍及解决fsockopen error: Connection refused问题
  14. react+mobx 编写 Async装饰器
  15. oracle 操作,偶尔记一下
  16. WEB入门.八 背景特效
  17. 【bzoj4011】[HNOI2015]落忆枫音 容斥原理+拓扑排序+dp
  18. JavaFX 之自定义窗口标题栏(二)
  19. 众数问题(山东理工OJ)
  20. Oracle的REGEXP_INSTR函数简单使用方法

热门文章

  1. Oracle视图传递参数
  2. 在vi或vim上查找字符串
  3. 牛客练习赛13 B 幸运数字Ⅱ 【暴力】【二分】
  4. 【leetcode刷题笔记】Evaluate Reverse Polish Notation
  5. Python 3 socket 编程
  6. HDU 找到唯一的冠军
  7. Spring Cloud之Hystrix服务保护框架
  8. Elasticsearch核心知识大纲脑图
  9. 浅谈WebService开发(一)
  10. 自定义响应结构 AjaxResult()