您的位置:首页 > 其它

.NET多线程技术详解(1)

2009-07-23 23:54 218 查看
http://www.iwebtrados.com.cn/post/46.html

默认情况下,C# 程序具有一个线程。此线程执行程序中以
Main
方法开始和结束的代码。
Main
直接或间接执行的每一个命令都由默认线程(或主线程)执行,当
Main
返回时此线程也将终止。不过,可以创建辅助线程,以便与主线程一起并行执行代码。这些线程通常称为“辅助线程”。
多线程的优点:
无论如何,要提高对用户的响应速度并且处理所需数据以便几乎同时完成工作,使用多个线程是一种最为强大的技术。在具有一个处理器的计算机上,多个线程可以通过利用用户事件之间很小的时间段在后台处理数据来达到这种效果。例如,在另一个线程正在重新计算同一应用程序中的电子表格的其他部分时,用户可以编辑该电子表格。
无需修改,同一个应用程序在具有多个处理器的计算机上运行时将极大地满足用户的需要。单个应用程序域可以使用多个线程来完成以下任务:
· 通过网络与 Web 服务器和数据库进行通信。
· 执行占用大量时间的操作。
· 区分具有不同优先级的任务。例如,高优先级线程管理时间关键的任务,低优先级线程执行其他任务。
· 使用户界面可以在将时间分配给后台任务时仍能快速做出响应。
多线程的缺点:
建议您使用尽可能少的线程,这样可以最大限度地减少操作系统资源的使用,并可提高性能。线程处理还具有在设计应用程序时要考虑的资源要求和潜在冲突。这些资源要求如下所述:
· 系统将为进程、AppDomain 对象和线程所需的上下文信息使用内存。因此,可以创建的进程、AppDomain 对象和线程的数目会受到可用内存的限制。
· 跟踪大量的线程将占用大量的处理器时间。如果线程过多,则其中大多数线程都不会产生明显的进度。如果大多数当前线程处于一个进程中,则其他进程中的线程的调度频率就会很低。
· 使用许多线程控制代码执行非常复杂,并可能产生许多 bug。
· 销毁线程需要了解可能发生的问题并对那些问题进行处理。
多线程的优点是显而易见的,但是也不是说用到多线程就一定能提高系统性能,我们在设计多线程应用时要认真考虑,做到扬长避短。那么就让我们开始.NET的多线程应用之旅。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: