摘要: 在应用程序中使用多个线程的一个好处是每个线程都可以异步执行。对于Windows应用程序,耗时的任务可以在后台执行,而使应用程序窗口和控件保持响应。对于服务器应用程序,多线程处理提供了用不同线程处理每个传入请求的能力。否则,在完全满足前一个请求之前,将无法处理每个新请求。然而,线程的异步性意味着必须协调对资源(如文件句柄、网络连接和内存)的访问。否则,两个或更多的线程可能在同一时间访问相同的资源,而每个线程都不知道其他线程的操作,结果将产生不可预知的数据损坏。线程同步是指并发线程高效、有序的访问共享资源所采用的技术,所谓同步,是指某一时刻只有一个线程可以访问资源,只有当资源所有者主自动放弃了代码 阅读全文
posted @ 2011-05-06 20:11 亿典通柄棋 阅读(594) 评论(0) 推荐(0) 编辑
摘要: 创建完一个线程并启动之后,还可以挂起、恢复、休眠或终止它,本节主要对线程的挂起与恢复进行讲解。线程的挂起与恢复分别可以通过调用Thread类中的Suspend方法和Resume方法实现,下面对这两个方法进行详细介绍。1.Suspend方法该方法用来挂起线程,如果线程已挂起,则不起作用。语法如下。 public void Suspend ()说明:调用Suspend方法挂起线程时,.NET允许要挂起的线程再执行几个指令,目的是为了到达.NET认为线程可以安全挂起的状态。2.Resume方法该方法用来继续已挂起的线程,语法如下。public void Resume ()说明:通过Resume方法来 阅读全文
posted @ 2011-05-06 20:09 亿典通柄棋 阅读(1175) 评论(0) 推荐(0) 编辑
摘要: 创建一个线程非常简单,只需将其声明并为其提供线程起始点处的方法委托即可。创建新的线程时,需要使用Thread类,Thread类具有接受一个ThreadStart委托或ParameterizedThreadStart委托的构造函数,该委托包装了调用Start方法时由新线程调用的方法。创建了Thread类的对象之后,线程对象已存在并已配置,但并未创建实际的线程,这时,只有在调用Start方法后,才会创建实际的线程。Start方法用来使线程被安排进行执行,它有两种重载形式,下面分别介绍。(1)导致操作系统将当前实例的状态更改为ThreadState.Running,语法如下。public void 阅读全文
posted @ 2011-05-06 20:07 亿典通柄棋 阅读(474) 评论(0) 推荐(0) 编辑