PublicClass Form1Class Form1 Private mainThread As Threading.Thread Private m_GetMain AsInteger=0 PrivateSub Form1_Load()Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesMyBase.Load MyMain() End Sub Sub MyMain()Sub MyMain() MsgBox("主线程开始") mainThread =New Threading.Thread(New Threading.ThreadStart(AddressOf GetMain)) mainThread.Start() '线程1开始 Dim subThread As Threading.Thread =New Threading.Thread(New Threading.ThreadStart(AddressOf GetSub)) subThread.Start() '线程2开始 'subThread.Join() MsgBox("end") Application.Exit() End Sub '检查GetMain方法执行情况,如果处于死循环状态,1分钟后将终止该进程 Sub GetSub()Sub GetSub() Dim dt As DateTime = Now While mainThread.ThreadState = Threading.ThreadState.Running Dim dt2 As DateTime = Now If dt2.Minute - dt.Minute >=1And dt2.Second - dt.Second =0Then MsgBox("minute ="& dt2 &""& dt) mainThread.Abort() ExitWhile EndIf 'MsgBox("in while") EndWhile MsgBox("while") End Sub '故意让该方法处于死循环状态 Sub GetMain()Sub GetMain() If m_GetMain =0Then GetSub() Else MsgBox("getsub") Exit Sub EndIf End Sub End Class