在你的VB.NET应用程序中使用多线程(5)

2008-04-10 03:08:05来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

允许你阻塞一个线程直到另外的线程调用Thread.ResumeSleepSuspend之间的区别在于后者不是立即使一个线程处于等待状态。在.NET运行时确定线程是处于一个安全的挂起位置之前,线程是不会挂起的。Sleep则是立即使线程进入等待状态。

最后,Thread.Abort中止一个线程的执行。在我们的简单例子中,我们还想增加另外一个可以使我们中止程序的按钮。要完成这些,我们所需做的一切便是如下面这样调用Thread.Abort方法:

Private Sub Button2_Click(ByVal sender As System.Object, _

ByVal e As System.EventArgs) Handles Button2.Click

t.Abort()

End Sub

在此便可以看出多线程的能力。用户界面看起来对用户是有响应的,因为它运行在一个线程中而后台的处理程序运行在另一个线程中。取消按钮会立即响应用户的click事件同时处理过程被中止。

通过多线程的过程传递数据

上一个例子展示了一种相当简单的情况。在你编程的时候,多线程有很多需要解决的复杂问题。你将会遇到的一个问题是向传递给Thread类构造函数的过程传递数据以及从这个过程传出数据。换言之,你想要在另一个线程上开始的过程不能接收任何参数而且你也不能从这个过程返回任何数据。这是因为传递给线程构造函数的过程不能有任何参数或返回值。为了避开这个问题,将你的过程包装到一个类中,在这个类中此方法的参数被表示成类的一个域。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:将人民币的数字表示转化成大写表示(VB.NET版) (原chenyu001C#版)

下一篇:走近VB.Net(二) 再谈函数调用