1.调用系统线程库 Imports System.Threading
2.Dim myThread As Thread '定义线程
Public Delegate Sub VoidDelegate() '定义委托类型
3.初始化线程并运行
myThread = New Thread(AddressOf Listen)
myThread.Start() '执行线程函数Listen,可以用个控件启动关闭线程
'myThread.Abort()'结束线程,程序直接跳出Listen() ,不在执行
Public Sub Listen()
While True
Me.Invoke(New VoidDelegate(AddressOf Listen1)) '这个是在另一个线程里调用Listen1过程,并在创建窗口的那个线程里运行。参数是委托类型。me也可以改成控件名。如果直接调用 Listen1,那该过程就在与Listen同一线程中运行,那么Listen1过程中修改的控件不是在本线程创建的,就会出错。
Thread.Sleep(1000)'线程休眠,让其他线程运行
End While
End Sub
Public Sub Listen1()
recivebox.AppendText(Format(Now, "hh:mm:ss") + " " + "Listen") '调用控件显示时间,不能放在上面函数执行会报错
recivebox.AppendText(vbCrLf)
End Sub