个人随笔
技术改变世界

标签:多线程

编程技术

C# 使用Interlocked进行原子操作

王旭阅读(5405)评论(2)

什么是原子操作 原子(atom)本意是“不能被进一步分割的最小粒子”,而原子操作(atomic operation)意为”不可被中断的一个或一系列操作” 。在C#中有多个线程同时对某个变量进行操作的时候,我们应该使用...

编程技术

WPF 多线程异常抛送到UI线程

王旭阅读(2586)评论(0)

无论是winform还是WPF,在.NET 2.0之后 只要是多线程中产生了异常都会导致程序强制结束。 那么我们一般的做法是将未知的多线程的异常抛送到UI线程去,然后进行处理..   正确的多线程中的异常抛送代码示例: try {...

编程技术

异步 MVVM 服务

王旭阅读(2088)评论(1)

异步MVVM系列 目录 (一)异步 MVVM 数据绑定 (二)异步 MVVM 命令绑定 (三)异步 MVVM 服务   本文简介 这是三个系列的文章中结合异步,等待与既定的模型-视图-ViewModel (MVVM) 模式。 在第...

编程技术

C# Async与Await的使用

王旭阅读(30935)评论(4)

这个是.NET 4.5的特性,所以要求最低.NET版本为4.5。 看很多朋友还是使用的Thread来使用异步多线程操作,基本上看不见有使用Async、Await进行异步编程的。各有所爱吧,其实都可以。只要正确使用就行,不过还是写了这篇文章推...

编程技术

C# 多线程 Thread.Abort()

王旭阅读(21436)评论(0)

看了很多人在使用Abort()方法来终止线程的运行,本文简单介绍下该方法的具体作用,以及说明下危险性,以及正确的停止线程的方式。   Abort的作用 Abort具有立即终止线程的作用,比如下面的代码:         stati...

编程技术

C# AutoResetEvent 的使用方法

王旭阅读(2274)评论(0)

在合适的场景下可以代替timer、多线程互斥 的时候使用AutoResetEvent ,效果会得到非常不错的改善。 至少代码是非常清晰的。 AutoResetEvent 主要是用于对代码执行的阻塞 和 通知阻塞完成 AutoResetEve...

编程技术

C# 多线程使用progressBar进度条控件

王旭阅读(3313)评论(0)

该例子对为多线程使用progressBar的一个简单例子。 实现: (1)计算progressBar运行时间(既进度条开始到结束的时间) (2)利用多线程运行(用这个应该必须用多线程吧,否则没什么实际意义,因为你有进度条必然是要做其他的事情...