vb.net 多线程等待执行完毕
时间: 2024-01-08 12:01:04 浏览: 165
在VB.NET中,要实现多线程等待执行完毕,可以使用Thread类和ManualResetEvent类的组合。首先,我们创建一个ManualResetEvent对象来控制线程的等待和通知。然后我们创建多个线程,并将它们的执行过程封装在不同的方法中。在每个线程执行完毕后,通过ManualResetEvent对象的Set方法来通知主线程。主线程在启动子线程后,就可以调用WaitOne方法来等待所有子线程执行完毕。
下面是一个简单的示例:
```vb.net
Imports System.Threading
Module Module1
Dim resetEvent As New ManualResetEvent(False)
Sub Main()
Dim t1 As New Thread(AddressOf DoWork)
Dim t2 As New Thread(AddressOf DoWork)
t1.Start()
t2.Start()
resetEvent.WaitOne() '等待所有线程执行完毕
Console.WriteLine("所有线程执行完毕")
End Sub
Sub DoWork()
'模拟耗时操作
Thread.Sleep(1000)
Console.WriteLine("线程执行完毕")
resetEvent.Set() '通知主线程线程执行完毕
End Sub
End Module
```
在这个示例中,我们分别创建了两个线程并启动它们,每个线程执行完毕后都调用了resetEvent.Set()方法来通知主线程。主线程在启动子线程后,调用了resetEvent.WaitOne()方法来等待所有子线程执行完毕。当所有子线程执行完毕后,主线程输出"所有线程执行完毕"。这样就实现了多线程等待执行完毕的功能。
阅读全文