我爱Aspx >> Asp.Net >> 在.NET客户端程序中应用多线程在.NET客户端程序中应用多线程
T客户端程序中应用多线程
原著:Jason Clark
翻译:lxhui
原文出处:MSDN Magazine Jan 2004(.NET)
原代码下载: NET0401.exe (118KB)
通常认为在编写程序中用到多线程是一个高级的编程任务,容易发生错误。在本月的栏目中,我将在一个Windows®窗体应用程序中使用多线程,它具有实际的意义,同时尽量使事情简单。我的目标是在一个普通的需求描述中用最好的办法讲解多线程;客户仍然比较喜欢使用户交互方式的应用程序。
多线程通常和服务器端软件,可扩展性及性能技术联系在一起。 然而,在微软.NET框架中,许多服务器端应用程序都驻留在ASP.NET体系结构中。同样,这些应用程序在逻辑上是单线程的, 因为IIS和ASP.NET在ASP.NET Web Form或Web服务程序中执行了许多或所有的多线程。 在ASP.NET应用程序中你一般可以忽略线程性。 这就是为什么在.NET框架中,多线程更倾向于在客户端使用的一个原因,比如在保证同用户交互的同时而执行一个很长的操作。
线程背景
线程执行代码。它们由操作系统实现,是CPU本身的一种抽象。许多系统都只有一个CPU, 线程是把CPU快速的处理能力分开而执行多个操作的一种方法,使它们看起来好像同步似的。即使一个系统由多个CPU, 但运行的线程一般要比处理器多。
在一个Windows为基础的应用程序中,每一个进程至少要有一个线程,它能够执行机器语言指令。 一旦一个进程的所有线程都中止了,进程本身和它所占用的资源将会被Windows清除。
许多应用程序都被设计为单线程程序,这意味着该程序实现的进程从来不会有超过一个线程在执行,即使在系统中有多个同样的处理在进行。一般一个进程不会关心系统中其他进程的线程的执行。
然而,在单个进程里的所有线程不仅共享虚拟地址空间,而且许多进程级的资源也被共享, 比如文件和窗口句柄等。由于进程资源共享的特征,一个线程必须考虑同一进程中其它线程正在做什么。线程同步是在多线程的进程中保持各线程互不冲突的一门艺术。这也使得多线程比较困难。
Ҷƪл˵?
webservice系列教学(8)-如何调..[05-28]
无需.net和专用组件实现用asp访问..[05-28]
什么是ASP.NET Web Service[05-28]
运用C#创建一个.Net下的Web Ser..[05-28]
Visual Studio .NET使开发人员能..[05-28]
.NET My Services对应用程序开发..[05-28]
XML、Web服务和.NET框架[05-28]
开发能够互操作的Web Services -..[05-28]
.NET中的Web service的开发[05-28]
HOW TO: BETA: Integrate a .NET..[05-28]
在你的服务器端代码中使用线程和..[05-31]
在你的服务器端代码中使用线程和..[05-31]
在你的服务器端代码中使用线程和..[05-31]
webservice系列教学(12)-如何调..[05-28]
webservice系列教学(11)-如何调..[05-28]
webservice系列教学(10)-如何调..[05-28]
webservice系列教学(9)-如何调..[05-28]
webservice系列教学(8)-如何调..[05-28]
webservice系列教学(7)-如何调..[05-28]
webservice系列教学(6)-如何调..[05-28]