VB.NET线程学习

前端之家收集整理的这篇文章主要介绍了VB.NET线程学习前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
  1. Imports System.Threading
  2. Public Class Form1
  3. ''''''''''''''''''''''''''''''''''''''''''''''
  4. '' 下面的代码是使用多线程同时弹出4msgBox''''
  5. ''''''''''''''''''''''''''''''''''''''''''''''
  6. ''''''''''定义'''''
  7. Structure MyParameters
  8. Dim nNum As Integer
  9. End Structure
  10. Public paramPM(3) As MyParameters
  11.  
  12. ''' <summary>
  13. ''' 线程池共用事件
  14. ''' </summary>
  15. ''' <param name="paramPM"></param>
  16. ''' <returns></returns>
  17. ''' <remarks></remarks>
  18. Public Function sPM2(ByVal paramPM As MyParameters) As String
  19. MessageBox.Show("Hello" + paramPM.nNum.ToString)
  20. Return ""
  21. End Function
  22. ''' <summary>
  23. ''' 按钮单击事件
  24. ''' </summary>
  25. ''' <param name="sender"></param>
  26. ''' <param name="e"></param>
  27. ''' <remarks></remarks>
  28. Private Sub Button1_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles Button1.Click
  29. ThreadPool.QueueUserWorkItem(New WaitCallback(AddressOf sPM2),paramPM(0))
  30. ThreadPool.QueueUserWorkItem(New WaitCallback(AddressOf sPM2),paramPM(1))
  31. ThreadPool.QueueUserWorkItem(New WaitCallback(AddressOf sPM2),paramPM(2))
  32. ThreadPool.QueueUserWorkItem(New WaitCallback(AddressOf sPM2),paramPM(3))
  33. End Sub
  34.  
  35. ''' <summary>
  36. ''' 窗口登陆事件
  37. ''' </summary>
  38. ''' <param name="sender"></param>
  39. ''' <param name="e"></param>
  40. ''' <remarks></remarks>
  41. Private Sub Form1_Load(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles MyBase.Load
  42. initpm() ' 初始化paramPM(3)
  43. End Sub
  44.  
  45. ''' <summary>
  46. ''' 初始化
  47. ''' </summary>
  48. ''' <remarks></remarks>
  49. Private Sub initpm()
  50. paramPM(0).nNum = 0
  51. paramPM(1).nNum = 1
  52. paramPM(2).nNum = 2
  53. paramPM(3).nNum = 3
  54. End Sub
  55. End Class


上面的代码是通过点击一个按钮,同时弹出四个对话框

  1. Imports System.Threading
  2. Public Class Form1
  3.  
  4. '' 计算平方
  5. Function Square(ByVal Value As Double)
  6. Return Value * Value
  7. End Function
  8.  
  9. '' 方法封装到类中
  10. Public Class SqueareClass
  11. Public Value As Double
  12. Public Square As Double
  13. 'Public Sub CalcSquare(ByVal Value As Integer)
  14. Public Sub CalcSquare()
  15. Square = Value * Value
  16. End Sub
  17. End Class
  18.  
  19. Private Sub Button1_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles Button1.Click
  20. Dim oSquare As New SqueareClass()
  21. Dim t As Thread
  22. t = New Thread(AddressOf oSquare.CalcSquare)
  23. oSquare.Value = 30
  24. t.Start()
  25. If t.Join(500) Then
  26. MsgBox(oSquare.Square)
  27. End If
  28. End Sub
  29. End Class


上面的代码是通过将线程执行函数封装到类中,并通过join同步线程,获取方法的执行结果

猜你在找的VB相关文章