imports System.ThreadingPublic Class Form1 '''''''''''''''''''''''''''''''''''''''''''''' '' 下面的代码是使用多线程同时d出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 SubEnd Class
上面的代码是通过点击一个按钮,同时d出四个对话框
imports System.ThreadingPublic 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 SubEnd Class
上面的代码是通过将线程执行函数封装到类中,并通过join同步线程,获取方法的执行结果
以上是内存溢出为你收集整理的VB.NET线程学习全部内容,希望文章能够帮你解决VB.NET线程学习所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)