VB6实现真正的多线程

360影视 日韩动漫 2025-05-28 03:20 3

摘要:Thread.Start hWnd, AddressOf DoTask, 1, App.LogMode

引用System.MT库

Option Explicit

Dim WithEvents Thread As VB6Thread

Private Sub Command1_Click

Text1.Text = ""

Command1.Enabled = False

'说明 IDE模式是直接执行,编译后才是线程模式

'ID as Long 参数是自定义的ID值,这里我填了1

Thread.Start hWnd, AddressOf DoTask, 1, App.LogMode

End Sub

Private Sub Form_Load

Set Thread = New VB6Thread

End Sub

Private Sub Thread_OnThread

Text1.Text = Text1.Text & "正在执行线程,线程ID:" & Thread.ID & vbCrLf

End Sub

Private Sub Thread_OnFinish

Text1.Text = Text1.Text & "线程执行完毕,线程ID:" & Thread.ID & vbCrLf & _

"花费时间:" & Thread.UseTime & "毫秒" & vbCrLf

Command1.Enabled = True

End Sub

Private Sub Form_Unload(Cancel As Integer)

Set Thread = Nothing

End Sub

添加一个模块,并书写代码

Option Explicit

Sub DoTask(ByVal ID As Long)

Dim i As Integer, j As Integer

Dim StrTemp As String

StrTemp = ""

For i = 1 To 10

For j = 1 To 10000

StrTemp = StrTemp & "123"

Next

Next

End Sub

运行结果

System.mt.dll,使用社区版开发,仅供学习交流使用。

使用本软件风险由用户自行承担,在适用法律允许的最大范围内,对因使用或不能使用本软件所产生的损害及风险,包括但不限于直接或间接的个人损害、商业盈利的丧失、贸易中断、商业信息的丢失或任何其它经济损失,以及任何不可抗力带来的损失,我方不承担任何责任。

如本文不适合发表请通知删除。

来源:琰琰课堂

相关推荐