
C# Thread
墨遥
我思,故我在!
展开
-
线程实用解析--------(一)线程初识
在开始讲线程之前,先应该讲一下进程。什么进程?简单点说一个应用程序就是一个进程(当然还有有些程序不止一个进程),Windows操作系统下,为了将应用程序之间隔离,以防止各个应用程序之间的互操作产生各种意外的情况,故引入的进程机制。进程是操作系统中获取CPU分配资源的最小单位,仅仅占有资源。在.NET平台下的应用程序,又在进程中引入了应用程序域,应用程序在运行的时候并不是直接加载运行的,而是先将程序原创 2012-10-04 21:21:01 · 1641 阅读 · 0 评论 -
线程实用解析--------(三)线程的同步
上一节主要讲了创建调用有参(多参)函数的线程和线程池的一些内容,这一节主要讲线程的同步。 多线程的出现解决了吞吐量和响应速度的问题,但同时也带来了资源共享问题,如死锁和资源争用。在为单个资源分配多个线程可能会导致同步问题。何为线程同步呢?所谓同步,是指多个线程之间存在先后执行顺序的关联关系。如果一个线程必须在另一个线程完成某个工作后才能继续执行,则必须考虑如何让其他保持同步,以确保在系原创 2012-10-05 14:25:59 · 1355 阅读 · 0 评论 -
线程实用解析--------(二)创建调用有参函数的线程和线程池简介
上一节主要是对线程有一个具体的介绍,同时也介绍了线程调用无参函数的方法,这一节主要介绍线程调用有参甚至是多参函数,同时也会进一步的介绍线程池。 先介绍线程调用有参函数 一、调用有一个参数的函数static void Main(string[] args) { //标记显示主线程ID Consol原创 2012-10-05 09:29:35 · 1891 阅读 · 0 评论 -
线程实用详解--------(四)异步操作
在实际的编程中某些任务执行完成时间可能较长,比如打开大文件、连接远程计算机或查询数据库,这个时候如果采用异步操作可以极大提高程序的运行效率,提供良好用户体验。异步操作在主应用程序线程以外的线程中执行。应用程序调用方法异步执行某个操作时,应用程序仍然可以继续执行当前的程序。下面列举了.NET Framework 中支持异步编程的部分,主要包括: 文件(File) IO、流(Stream) IO、原创 2012-10-05 19:25:32 · 1673 阅读 · 0 评论 -
线程实用解析--------(五)BackgroundWorker和Timer
上一节讲到在实际的编程中某些任务执行完成时间可能较长,比如打开大文件、连接远程计算机或查询数据库,这个时候可能会导致UI界面发生长时间未响应,如果你需要在执行某些任务的同时,还要进行UI界面的响应,BackgroundWorker是您最好的选择,同时,从VS2005开始也BackgroundWorker组件,这使Backgroundworker使用起来更加的方便。下面我会通过一个更新UI界面进原创 2012-10-06 10:04:08 · 5050 阅读 · 0 评论 -
线程实用解析--------(六)Control.Invoke()和Control.BeginInvoke()
在以前的章节中,我们不只一次的提到过,不能在非创建UI控件的线程中操作UI元素,否则会和UI控件创建线程(一般是主线程)产生冲突,造成不可预料的后果。该如何解决这个问题呢?除了上一节所讲的BackgroundWorker和Timer以外,微软将Control类实现了ISynchronizeInvoke接口,提供了Invoke和BeginInvoke方法来提供让其它线程更新GUI界面控件的机制。原创 2012-10-06 16:38:12 · 5620 阅读 · 3 评论 -
LINQ学习心得分享----(一)LINQ简介和基础学习
这一节主要向大家讲三个问题,第一个问题什么是LINQ,第二个问题LINQ主要解决什么问题,第三个问题学习LINQ需要做哪些基本的准备。 首先第一个问题,什么是LINQ?LINQ中文翻译为语言集成查询(Language Integrated Query),更通俗的讲,它相当于一个通用的数据查询接口。LINQ最初由Anders hejlsberg构思,2007年11月19日,LINQ作原创 2012-10-08 11:27:51 · 5956 阅读 · 1 评论