vb.net线程详细讲解

前端之家收集整理的这篇文章主要介绍了vb.net线程详细讲解前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
VisualBasic作为易学易用的编程语言,为多少程序员所仰慕,VB历经多年的发展,从大家都熟知的VB6到如今的VB.NET,虽然这两个差别很大= =
本文主要讲述“线程”这么一个东西。

线程是程序中一个单一的顺序控制流程。在单个程序中同时运行多个线程完成不同的工作,称为多线程。


为什么使用线程?
 我们一般编写的程序代码总是从main函数(控制台),Sub New()(类的构造函数),Load(窗体加载)开始执行的,从上往下,执行每一个调用,有明确的先后顺序,一个sub或者function完成之后,才进行下一个sub或者function。的确,这样程序的逻辑性很强,每个过程排队,依次来。
 但是,这样必然会在一定程度上降低应用程序的运行效率,如果某个过程代码很长,所需要的时间长,那么程序在执行这个过程的时候会出现“假死”,停止响应用户操作,知道过程全部执行完毕。
 关于“假死”:我们编写的Windows应用程序有一个UI线程,用于接收和响应用户界面的操作。而我们编写的代码一般都是基于这个线程的,位于单一线程中的代码也是从上往下依次进行,所以当UI线程中某一过程花费的时间很长时,界面不再响应,因为它很忙,这时就出现了长时间的停顿,也就是“假死”,而用户会认为这很卡。
 因此,如果我们在UI线程的基础上另开一个线程,让代码分支执行的话,就不会卡了。但同时,我们又不得不面临这样一个问题:万一线程执行的过程,和UI执行的过程有冲突怎么办?当你在非UI线程中调用UI线程中的某一个控件,设置它的某某属性,这时你会收到这样一条错误
 →线程间操作无效: 从不是创建控件“xxx”的线程访问它。
怎么办啊? 别急,后文会有解释。


《SD敢达大作战》正版卡牌巨作! 强力机师,超级敢达等你来战!
怎么办呢?


  • 7楼
  • 2012-01-25 13:43
  • 猜你在找的VB相关文章