代码改变世界

随笔分类 -  C#

C# WinForm多线程(三)Control.Invoke

2015-06-08 08:37 by Dorisoy, 459 阅读, 收藏,
摘要: 下面我们就把在Windows Form软件中使用Invoke时的多线程要注意的问题给大家做一个介绍。首先,什么样的操作需要考虑使用多线程?总的一条就是,负责与用户交互的线程(以下简称为UI线程)应该保持顺畅,当UI线程调用的API可能引起阻塞时间超过30毫秒时(比如访问CD-ROM等速度超慢的外设、... 阅读全文

使用BackgroundWorker组件进行异步操作编程

2015-06-08 08:36 by Dorisoy, 315 阅读, 收藏,
摘要: 本文介绍了BackgroundWorker组件的功能及在基于事件的异步操作编程中的应用,并对组件的实现原理进行简述。在应用程序中,可能会遇到一些执行耗时的功能操作,比如数据下载、复杂计算及数据库事务等,一般这样的功能会在单独的线程上实现,执行结束后结果显示到用户界面上,这样可避免造成用户界面长时间无... 阅读全文

C# WinForm多线程(二)ThreadPool 与 Timer

2015-06-08 08:35 by Dorisoy, 2938 阅读, 收藏,
摘要: 本文接上文,继续探讨WinForm中的多线程问题,再次主要探讨threadpool 和timer一 ThreadPool线程池(ThreadPool)是一种相对较简单的方法,它适应于一些需要多个线程而又较短任务(如一些常处于阻塞状态的线程),它的缺点是对创建的线程不能加以控制,也不能设置其优先级。由... 阅读全文

C# WinForm多线程(一)Thread类库

2015-06-08 08:34 by Dorisoy, 1405 阅读, 收藏,
摘要: Windows是一个多任务的系统,如果你使用的是windows2000及其以上版本,你可以通过任务管理器查看当前系统运行的程序和进程。什么是进程呢?当一个程序开始运行时,它就是一个进程,进程所指包括运行中的程序和程序所使用到的内存和系统资源。而一个进程又是由多个线程所组成的,线程是程序中的一个执行流... 阅读全文

C# 5.0 Async函数的提示和技巧

2015-04-30 11:45 by Dorisoy, 453 阅读, 收藏,
摘要: 一、创建Async函数Async是C# 5.0中新增的关键字,通过语法糖的形式简化异步编程,它有如下三种方式:asyncTask MyReturningMethod {returndefault(T); }asyncTaskMyMethod() { }asyncvoidMyFireAndForget... 阅读全文