vb多线程_计算机软件及应用_IT计算机_专业资料

vb多线程_计算机软件及应用_IT计算机_专业资料

ID:41889338

大小:208.00 KB

页数:16页

时间:2019-09-04

vb多线程_计算机软件及应用_IT计算机_专业资料_第1页
vb多线程_计算机软件及应用_IT计算机_专业资料_第2页
vb多线程_计算机软件及应用_IT计算机_专业资料_第3页
vb多线程_计算机软件及应用_IT计算机_专业资料_第4页
vb多线程_计算机软件及应用_IT计算机_专业资料_第5页
资源描述:

《vb多线程_计算机软件及应用_IT计算机_专业资料》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、VB.NET多线程编程技术[日期:2004-04-27]來源:开放系统1比界作者:陶刚[字体:人屮小]介绍传统的VisualBasic开发人员已经建立了同步应用程序,在这些程序屮事务按顺序执行。尽管由于多个事务多多少少地同时运行使多线程应用程序效率更高,但是使用先前版木的VisualBasic很难建立这类程序。多线程程序是可行的,因为操作系统是多任务的,它有模拟同一•时刻运行多个应川程序的能力。尽管多数个人计算机只有一个处理器,但是现在的操作系统还是通过在多个执行代码片断Z间划分处理器时间提供了多任务。线程

2、可能是整个应用程序,但通常是应用程序可以单独运行的一个部分。操作系统根据线程的优先级和离最近运行的吋I'可长如给每一个线程分配处理时间。多线程对于时间密集型事务(例如文件输入输出)应用程序的性能有-很人的提高。但是也冇必须细心的地方。尽管多线程能提高性能,但是每个线程还是盂要用附加的内存来建立和处理器吋间来运行,建立太多的线程可能降低应用程序的性能。当设计多线程应用程序时,应该比较性能与开销。多任务成为操作系统的一部分已经很久了。但是肓到最近VisualBasic程序员才能使用无文档记录特性(undocum

3、ented)或者间接使用COM组件或者操作系统的异步部分执行•多线程事务。.NET框架组件为开发多线程应用程序,在System.Threading名字空I'可屮提供了全面的支持。木文讨论多线程的好处以及怎样使用VisualBasic.NET开发多线程M用程序。尽管VisualBasic.NET和.NET框架组件使开发多线程应用程序更容易,但是木文作广调整使其适合高级读者和希望从早期VisualBasic转移到VisualBasic.NET的开发人员。多线程处理的优点尽管同步应用程序易于开发,但是它们的性能通

4、常比多线程应用程序低,因为一个新的事务必须等待前面的事务完成后才能开始。如果完成某个同步事务的吋间比预想的耍长,应用程序可能没有响应。多线程处理可以同时运行多个过程。例如,字处理程序能够在继续操作文档的同时执行拼写检杳事务。因为多线程应川程序把程序分解为独立的事务,它们能通过下面的途径充分提高性能:I多线程技术可以使程序更容易响应,因为在其它工作继续时用户界面可以保持激活。I当前不忙的事务可以把处理器时间让给其它事务。I花费大量处理吋间的事务可以周期性的把吋间让给其它的事务。I事务可以在任何吋候停止。I"J

5、以通过把单•独事务的优先级调高或调低來优化性能。明确地建立多线程应用程序的决定依赖于几个因素。多线程最适合下而的情况:I时间密集或处理密集的事务妨碍用户界面。I单独的事务必须等待外部资源,例如远程文件或Internet连接。例如,某个应用程序跟随Web页面上的链接并下载符合特定条件的文件。这种应用程序可以同步一个接一个地下载文件或者使用多线程在同一吋刻下载多个文件。多线程的方法比同步方法的效率高得多,因为即使某些线程从远程Web服务器上接收到的响应很慢,文件也可以被下载。建立新线程建立线程的最直接的方法是建

6、立线程类的一个新的实例并11使用AddressOf语句替你希望运行的过程传递一个委托。例如下面的代码运行一个作为单独的线程的叫做SomeTask的了过程。DimThreadlAsNewSystem.Threading.Thread(AddressOfSomeTask)Threadl.Start'这儿的代码立即运行这就是建立和启动线程的全部工作。调用线程的Start方法后而的任何代码立即执行,不需要等待前面线程的结束。下表是你能使用的控制单独线程的方法:行为aStarts引起线程开始运行.QSleeps暂停线

7、程一段时间.2Suspends线程到达安全点(safepoint)时暂停线程.卩Aborts线程到达安全点时停止绕程•“Resumes重新启动暂停的线程.卩Join^引起当前线程等待另一个线程结束.如果设苴了超时值,线程在分配的时「可内完成就返回True.卩上而的人多数方法字而上容易理解,但是安全点(safepoint)的概念对■你来说可能是新的。安全点是代码中的某个位置,在这个位置通用语言运行时可以安全地执行自动无用单元收集(garbagecollection,释放无用变量并恢复内存的过程)。当调用线程的

8、Abort或Suspend方法时,通用语言运行时分析代码,决定线程停止运行的适当位置。卜•表是线程的一些常用的属性:属性p值IsAliyejp如果线程是活动的,它的值为TrueopIsBaQkground?获取或设曹一b布尔值表名某个线程是否或允许杲后台线程.后台线程象前台线程一样,但是后台线程不防止过程终止•一旦某个过程的所有前途线程终止了,通用语盲运行时通过调用仍然活动的后台娃程的Abort方法终止过程.卩N

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。