VBNET多线程编程的详细说明
作者:陶刚介绍传统的VisualBasic开发人员已经建立了同步应用程序,在这些程序中事务按顺序执行。尽管由于多个事务多多少少地同时运行使多线程应用程序效率更高,但是使用先前版本的VisualBasic很难建立这类程序。多线程程序是可行的,因为操作系统是多任务的,它有模拟同一时刻运行多个应用程序的能力。尽管多数个人计算机只有一个处理器,但是现在的操作系统还是通过在多个执行代码片断之间划分处理器时间提供了多任务。线程可能是整个应用程序,但通常是应用程序可以单独运行的一个部分。操作系统根据线程的优先级和离最近运行的时间长短给每一个线程分配处理时间。多线程对于时间密集型事务(例如文件输入输出)应用程序的性能有很大的提高。但是也有必须细心的地方。尽管多线程能提高性能,但是每个线程还是需要用附加的内存来建立和处理器时间来运行,建立太多的线程可能降低应用程序的性能。当设计多线程应用程序时,应该比较性能与开销。多任务成为操作系统的一部分已经很久了。但是直到最近VisualBasic程序员才能使用无文档记录特性(u
docume
ted)或者间接使用COM组件或者操作系统的异步部分执行多线程事务。NET框架组件为开发多线程应用程序,在SystemThreadi
g名字空间中提供了全面的支持。本文讨论多线程的好处以及怎样使用VisualBasicNET开发多线程应用程序。尽管VisualBasicNET和NET框架组件使开发多线程应用程序更容易,但是本文作了调整使其适合高级读者和希望从早期VisualBasic转移到VisualBasicNET的开发人员。多线程处理的优点尽管同步应用程序易于开发,但是它们的性能通常比多线程应用程序低,因为一个新的事务必须等待前面的事务完成后才能开始。如果完成某个同步事务的时间比预想的要长,应用程序可能没有响应。多线程处理可以同时运行多个过程。例如,字处理程序能够在继续操作文档的同时执行拼写检查事务。因为多线程应用程序把程序分解为独立的事务,它们能通过下面的途径充分提高性能:l多线程技术可以使程序更容易响应,因为在其它工作继续时用户界面可以保持激活。l当前不忙的事务可以把处理器时间让给其它事务。l花费大量处理时间的事务可以周期性的把时间让给其它的事务。l事务可以在任何时候停止。l可以通过把单独事务的优先级调高或调低来优化性能。明确地建立多线程应用程序的决定依赖于几个因素。多线程最适合下面的情况:整理:httptupa
et更新时间:201141
fl时间密集或处理r