/// <summary>
/// MainWindow.xaml 的交互逻辑
/// </summary>
public partial class MainWindow : Window
{
SynchronizationContext _uiContext = SynchronizationContext.Current;
public MainWindow()
{
InitializeComponent();
} private void Button_Click(object sender, RoutedEventArgs e)
{
ThreadPool.QueueUserWorkItem(new WaitCallback(this.Start));
} public void Start(object stat)
{
//工作线程
for (int i = 0; i < 10; i++)
{
Thread.Sleep(1000);
this._uiContext.Post(this.UpdateUI, "line:" + i.ToString());
}
} public void UpdateUI(object stat)
{
//UI线程
this.lst.Items.Add(stat.ToString());
}
}

  

SynchronizationContext的更多相关文章

  1. 线程处理模型 由于 SynchronizationContext 引起的死锁问题解决

    由于GUI 应用程序 不能使用线程池的线程更新UI,只能使用 GUI 线程更新,所以在 await 前后需要保证是同一个 GUI 线程 ASP.NET 程序 的线程处理客户端请求的时候,需要假定客户端 ...

  2. 搞懂 SynchronizationContext(第一部分)【翻译】

    SynchronizationContext -MSDN 很让人失望 我不知道为什么,目前在.Net下关于这个类只有很少的资料.MSDN文档也只有很少的关于如何使用SynchronizationCon ...

  3. 搞懂 SynchronizationContext

    SynchronizationContext -MSDN 很让人失望 我不知道为什么,目前在.Net下关于这个类只有很少的资料.MSDN文档也只有很少的关于如何使用SynchronizationCon ...

  4. 重新想象 Windows 8 Store Apps (48) - 多线程之其他辅助类: SpinWait, SpinLock, Volatile, SynchronizationContext, CoreDispatcher, ThreadLocal, ThreadStaticAttribute

    [源码下载] 重新想象 Windows 8 Store Apps (48) - 多线程之其他辅助类: SpinWait, SpinLock, Volatile, SynchronizationCont ...

  5. 【C#】【Thread】SynchronizationContext线程间同步

    SynchronizationContext在通讯中充当传输者的角色,实现功能就是一个线程和另外一个线程的通讯. 需要注意的是,不是每个线程都附加SynchronizationContext这个对象, ...

  6. SynchronizationContext的研究之一(非WPF及Forms)

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  7. SynchronizationContext一篇

    SynchronizationContext context; 最近写代码用到了这个,特别记录一下. 作用如下: // 摘要: // 提供在各种同步模型中传播同步上下文的基本功能. public cl ...

  8. 译文: async/await SynchronizationContext 上下文问题

    async / await 使异步代码更容易写,因为它隐藏了很多细节. 许多这些细节都捕获在 SynchronizationContext 中,这些可能会改变异步代码的行为完全由于你执行你的代码的环境 ...

  9. 理解SynchronizationContext,如何在Winform里面跨线程访问UI控件

    SynchronizationContext 类是一个基类,可提供不带同步的自由线程上下文. 此类实现的同步模型的目的是使公共语言运行库内部的异步/同步操作能够针对不同的异步模型采取正确的行为.此模型 ...

  10. 【.NET异步编程系列2】掌控SynchronizationContext避免deadlock

    引言: 多线程编程/异步编程非常复杂,有很多概念和工具需要去学习,贴心的.NET提供Task线程包装类和await/async异步编程语法糖简化了异步编程方式. 相信很多开发者都看到如下异步编程实践原 ...

随机推荐

  1. 20179223《Linux内核原理与分析》第三周学习笔记

    测试3的实验: 1. 用gcc -g编译vi输入的代码 2. 在main函数中设置一个行断点 3. 在main函数增加一个空循环,循环次数为自己学号后4位,设置一个约为学号一半的条件断点 4. 提交调 ...

  2. Ubuntu 忘记密码后重置密码

    摘自百度贴吧:http://tieba.baidu.com/p/2869755075 选后会再出现一个选单,让你选取,请选取:root - Drop to root shell prompt 选完后, ...

  3. 微信小程序(1)——小程序的特点以及结构

    简单的,用完即走的应用 低频应用 性能要求不高的应用 应用程序入口(app.js   app.json  app.wxss) 一级页面:wxml,wxss,js,json 二级页面:wxml,wxss ...

  4. ASP.NET性能优化原则

    从哪些方面对asp.net进行性能优化,本文作了详细的阐述,希望对大家有所帮助. 一.SqlDataRead和Dataset的选择Sqldataread优点:读取数据非常快.如果对返回的数据不需做大量 ...

  5. autoconf 简单demo试用

    1. 安装工具 yum install -y automake   2. 基本项目 a. 项目参考结构 ├── AUTHORS ├── COPYING ├── ChangeLog ├── Makefi ...

  6. geohash 精度

    关于地图的距离.  $list1=Db::name('museum')->where('id','in',$user['gz'])->order('ACOS(SIN(('.$lat.' * ...

  7. 我的 SONY MP3 NWZ-B105F

    我的 SONY MP3 NWZ-B105F 只有 2GB 的容量,好像2007年出来的,现在还可以开机和播放. 使用的 SigmaTel 的方案 BGA 的封装,1.1inch 屏幕竟然是彩屏,锂电池 ...

  8. Oracle 块修改跟踪 (Block Change Tracking) 说明

    Block ChangeTracking 是Oracle 10g里推出的特性.官网对Block change tracking 的定义如下: Adatabase option that causes ...

  9. bzoj4806 炮

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4806 这种题应该想状压的. 于是发现压不下,结合每一行每一列最多放两个炮想到记一下放炮的列就 ...

  10. nginx+php测试时显示 502 bad gateway的解决方法

    http://www.apelearn.com/study_v2/chapter18.html 由于阿铭老师的PHP版本是 5.3的   我装了 5.5 测试出现了 502  错误 查看日志   借助 ...