VB.NET有很多值得学习的地方,这里我们主要介绍VB.NET线程构造器,包括介绍调用Thread.Sleep方法等方面。
成都创新互联自2013年起,是专业互联网技术服务公司,拥有项目成都网站设计、网站制作网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元通化县做网站,已为上家服务,为通化县各地企业和个人服务,联系电话:18982081108
本文介绍在线程启动中,你可以通过线程对象的一个方法来控制它的状态。你可以通过调用Thread.Sleep方法来暂停一个线程的执行,这个方法可以接收一个整型值,用来决定线程休眠的时间。拿前面的例子来说,如果你想让列表项目增加的速度变慢,可以在其中放入一个sleep方法的调用:
- Private Sub BackgroundProcess()
- Dim i As Integer = 1
- Do While Tru
- ListBox1.Items.Add("Iterations: " + i)
- i += 1
- Thread.CurrentThread.Sleep(2000)
- Loop
- End Sub
CurrentThread是一个public static的属性值,可让你得到当前运行线程的一个引用。
你还可以通过调用Thread.Sleep (System.Threading.Timeout.Infinite)来让线程进入休眠状态,有点特别的是,这个调用的休眠时间是不确定的。要中断这个休眠,你可以调用Thread.Interrupt方法。
与休眠和中断类似的是挂起和恢复。挂起可让你暂停一个线程,直到另一个线程调用Thread.Resume为止。休眠和挂起的区别是,后者并不立刻让线程进入一个等待的状态,线程并不会挂起,直到.NET runtime认为现在已经是一个安全的地方来挂起它了,而休眠则会立刻让线程进入一个等待的状态。
最后要介绍的是Thread.Abort,它会停止一个线程的执行。在我们的那个简单例子中,如果要加入一个按钮来停止处理,很简单,我们只要调用Thread.Abort方法就行了,如下所示:
- Private Sub Button2_Click(ByVal sender As System.Object,
_ByVal e As System.EventArgs) Handles Button2.Clickt.Abort()- End Sub
这就是多线程的强大之处。用户界面的响应很好,因为它运行在一个单独的线程中,而后台的处理运行在另外一个线程中。在用户按下取消按钮时,便会马上得到响应,并且停止处理。
上面的例子只是一个相当简单的应用。在编程时,你还需要使用到多线程的许多复杂特性。其中的一个问题是如何将程序的数据由VB.NET线程构造器传入或者传出,也就是说,对于放到另外一个线程中的过程,你既不能传参数给它,也不能由它返回值。这是由于你传入到VB.NET线程构造器的过程是不能拥有任何的参数或者返回值的。为了解决这个问题,可以将你的过程封装到一个类中,这样方法的参数就可使用类中的字段。
这里我们举一个简单的例子,如果我们要计算一个数的平方,即:
- Function Square(ByVal Value As Double) As Double
- Return Value * Value
- End Function
当前题目:浅谈VB.NET线程构造器
网页路径:http://www.shufengxianlan.com/qtweb/news33/257333.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联