VB.NET并发性判断线程状态

VB.NET编程语言的到来,在一定程度上改变了开发人员的编程方式,提高了编程效率,并且增加了程序开发的安全性。我们今天要为大家介绍的则是VB.NET并发性的一些作用,希望能给大家带来一些帮助。#t#

10年积累的成都网站建设、做网站经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站策划后付款的网站建设流程,更有拱墅免费网站建设让你可以放心的选择与我们合作。

当用户在写出多线程程序的时候,可能***有挑战性的就是独立的线程和程序的其他的部分有并发性。例如,程序中的一个独立的线程正在处理一系列的名称,而程序的另一个部分必须等待这个线程完成以后才能进行,通常处理VB.NET并发性的线程的办法就是判断线程的状态或者通过一个事件去标志和得到一个特征值。

最简单的,也是效率***的方法就是判断一个线程的IsAlive属性的值,当一个线程在开始(Start)以前它的属性IsAlive的值是"False",而在它运行的过程中,它的属性IsAlive的值是"True"。这种方法并没有通过一个事件去标志和得到一个特征值可靠,而且如果这样做的庆,也失去了自由线程的很多优点和便利之处。例如:

 
 
 
  1. while anotherthread.IsAlive=False 
  2. '一直等待到该线程开始  
  3. End While  
  4. '线程已经开始,现在等待它结束  
  5. 'While anotherthread.IsAlive=True 
  6. '等待一直等待到线程结束  
  7. End While  
  8. '作一些线程结束以后的事情 

一个更好的处理线程的VB.NET并发性办法就是使用事件,每一个线程都能够运行一个事件把它自己的状态以一个标志的形式给主程序一个值,或者是给其他一个线程一个具有标志自身状态后个值,这样当多个线程在运行一个过程的多个拷贝的时候,这些线程都具有自己特有的事件来标志各自的状态,则在线程之处的程序的其他的部分,就可以通过运行这些事件,得到线程的信息,并且进行下一步的信息的处理。例如:

 
 
 
  1. Public Event Status(Byval 
    ThreaStatus As Integer,
    Byval ThreadID As Integer) 

VB.NET 提供了SyncLock表述来使得在一个expression中一些statements可以具有VB.NET并发性,这保证了多个线程在运行时不在同一时间里,运行相同的statements,当进入了SyncLock模块,共享的方法System.Monitor.Enter将在特定的expression下运行,一直到这个特定的线程对expression返回的对象有exclusive Lock以后,模块中的代码才会停止运行。

注意:expression的类型必须是可引用的那种类型。

分享名称:VB.NET并发性判断线程状态
网页地址:http://www.gawzjz.com/qtweb/news41/160941.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联