- Imports System.Threading
- Public Class Form1
- ''''''''''''''''''''''''''''''''''''''''''''''
- '' 下面的代码是使用多线程同时弹出4个msgBox''''
- ''''''''''''''''''''''''''''''''''''''''''''''
- ''''''''''定义'''''
- Structure MyParameters
- Dim nNum As Integer
- End Structure
- Public paramPM(3) As MyParameters
- ''' <summary>
- ''' 线程池共用事件
- ''' </summary>
- ''' <param name="paramPM"></param>
- ''' <returns></returns>
- ''' <remarks></remarks>
- Public Function sPM2(ByVal paramPM As MyParameters) As String
- MessageBox.Show("Hello" + paramPM.nNum.ToString)
- Return ""
- End Function
- ''' <summary>
- ''' 按钮单击事件
- ''' </summary>
- ''' <param name="sender"></param>
- ''' <param name="e"></param>
- ''' <remarks></remarks>
- Private Sub Button1_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles Button1.Click
- ThreadPool.QueueUserWorkItem(New WaitCallback(AddressOf sPM2),paramPM(0))
- ThreadPool.QueueUserWorkItem(New WaitCallback(AddressOf sPM2),paramPM(1))
- ThreadPool.QueueUserWorkItem(New WaitCallback(AddressOf sPM2),paramPM(2))
- ThreadPool.QueueUserWorkItem(New WaitCallback(AddressOf sPM2),paramPM(3))
- End Sub
- ''' <summary>
- ''' 窗口登陆事件
- ''' </summary>
- ''' <param name="sender"></param>
- ''' <param name="e"></param>
- ''' <remarks></remarks>
- Private Sub Form1_Load(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles MyBase.Load
- initpm() ' 初始化paramPM(3)
- End Sub
- ''' <summary>
- ''' 初始化
- ''' </summary>
- ''' <remarks></remarks>
- Private Sub initpm()
- paramPM(0).nNum = 0
- paramPM(1).nNum = 1
- paramPM(2).nNum = 2
- paramPM(3).nNum = 3
- End Sub
- End Class
上面的代码是通过点击一个按钮,同时弹出四个对话框
- Imports System.Threading
- Public Class Form1
- '' 计算平方
- Function Square(ByVal Value As Double)
- Return Value * Value
- End Function
- '' 将方法封装到类中
- Public Class SqueareClass
- Public Value As Double
- Public Square As Double
- 'Public Sub CalcSquare(ByVal Value As Integer)
- Public Sub CalcSquare()
- Square = Value * Value
- End Sub
- End Class
- Private Sub Button1_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles Button1.Click
- Dim oSquare As New SqueareClass()
- Dim t As Thread
- t = New Thread(AddressOf oSquare.CalcSquare)
- oSquare.Value = 30
- t.Start()
- If t.Join(500) Then
- MsgBox(oSquare.Square)
- End If
- End Sub
- End Class