VB.NET线程学习
来源:互联网 发布:办公协作软件 编辑:程序博客网 时间:2024/05/01 13:23
Imports System.ThreadingPublic 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 SubEnd Class
上面的代码是通过点击一个按钮,同时弹出四个对话框
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学习笔记(二十四)线程基础
- VB.net学习笔记(二十七)线程同步上
- VB.net学习笔记(二十八)线程同步下
- VB.net学习笔记(三十)认识线程池
- vb.net线程的创建
- Vb.net Thread线程实例
- vb.net 线程委托写法
- vb.net托管线程池
- vb.net线程详细讲解
- vb.net 线程处理画面
- VB.NET学习资料:
- vb.net 学习中..
- VB.NET 学习经验
- vb.net学习日记
- vb.net学习笔记
- 最近学习VB.NET
- VB.NET学习petshop
- NSDate 的一些操作(比较、创建、在现有date加减一定时间等)
- UVA 11077 Find the Permutations 置换+递推
- 九宫图代码
- VC++ 用ADO 连接MySQLl数据库的方法
- 如何用js实现在网页上显示时间
- VB.NET线程学习
- 修改mysql数据库的默认字符集
- nginx模块开发入门
- 怎么搭建Github上的开源项目
- ios 使用adward来追纵广告使用情况
- haproxy FTP配置
- mysql中int数据类型长度的问题
- 折半查找一个有序序列
- ASP.NET Page执行顺序如:OnPreInit()、OnInit()