以下是 VB.NET 中使用 System.Threading
命名空间启动 10 个线程并调用函数的示例代码:
Imports System.Threading
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
' 创建一个包含 10 个线程的 Thread 数组
Dim threads(9) As Thread
For i As Integer = 0 To 9
threads(i) = New Thread(AddressOf DoWork)
threads(i).Start(i)
Next
End Sub
Private Sub DoWork(ByVal data As Object)
Dim id As Integer = CType(data, Integer)
Console.WriteLine("线程 {0} 正在执行...", id)
Threading.Thread.Sleep(1000)
Console.WriteLine("线程 {0} 执行完毕。", id)
End Sub
End Class
在此示例中,我们创建了一个包含 10 个线程的 Thread
数组,并使用 New Thread
方法创建每个线程。然后,我们使用 Start
方法启动每个线程,并将一个整数作为参数传递给函数 DoWork
。最后,我们在 DoWork
函数中读取该参数,并执行相应的操作。
请注意,在此示例中,我们使用了 AddressOf
运算符来获取函数 DoWork
的地址,并将其作为参数传递给 New Thread
方法。如果您需要在方法之间传递参数或共享状态,请考虑使用闭包或其他适当的技术来实现。同时,也要注意并发操作可能会引起竞态条件和死锁等问题,需要根据具体情况进行处理。