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

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

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

oSquare.Value = 30

t.Start()

End Sub

Sub SquareEventHandler(ByVal Square As Double) _

Handles oSquare.ThreadComplete

MsgBox("The square is " & Square)

End Sub

这个方法需要注意的一个问题是处理事件的过程,在本例中是SquareEventHandler,将运行在引发事件的线程中,而不是运行在窗体从中执行的线程中。

线程同步

VB.NET包含了一些语句用于提供线程的同步。在Square的例子中,你可能想同步执行计算的线程以便等到计算完成,这样便可以获得结果。举另外一个例子,如果你在一个单独的线程中对数组进行排序并且在使用这个数组之前要等待这个处理过程结束。为了实现这些同步,VB.NET提供了SyncLock语句和Thread.Join方法。

SyncLock获取了对传递给它的对象引用的独占性锁。通过取得这种独占锁,你可以确保多个线程不会访问共享的数据或是在多个线程上执行代码。一个可以方便地用于获取锁地对象是关联于每个类的System.Type对象。可以通过GetType方法获得System.Type

标签:

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

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

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