首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

vb.net 请教怎么知道线程已经完成?多谢

2012-03-29 
vb.net 请问如何知道线程已经完成?谢谢VB.NET codePrivate Sub btnSend_Click(ByVal sender As System.Obj

vb.net 请问如何知道线程已经完成?谢谢

VB.NET code
Private Sub btnSend_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSend.Clickdim tmpThread as ThreadtmpThread = New Thread(AddressOf ReciveMsg)            tmpThread.Start()            Dim arrSendData() As Byte : ReDim arrSendData(0 To 1)            arrSendData(0) = &H0             arrSendData(1) = &H0            tmpClientSocket.Send(arrSendData) '发送'-------------------------------------'-------------------------------------'请问如何知道线程已经完成?谢谢'-------------------------------------'-------------------------------------End subSub ReciveMsg() '接收消息        Dim bytes() As Byte = New Byte(23) {}        Dim data As String = String.Empty        While True            Dim bytesRec As Integer = tmpClientSocket.Receive(bytes)            Dim intI As Integer            Dim strRec As String = ""            For intI = 0 To bytes.Length - 1                strRec = strRec & Hex(bytes(intI)).PadLeft(2, "0") & " "            Next            data = strRec            BeginInvoke(New EventHandler(AddressOf subAddInfo), data)   'Invoke保证线程安全        End While    End Sub    Sub subAddInfo(ByVal sender As System.Object, ByVal e As System.EventArgs)        tmpStringBuilder.Append("<font color=green>" & Now & "---> " & "接收数据: " + sender.ToString & "</font><br>")        Me.wbsContent.DocumentText = tmpStringBuilder.ToString    End Sub


[解决办法]
endinvoke(ia)
ia是 Dim ia As IAsyncResult
[解决办法]
tmpThread.join
等待线程结束,就可以了

热点排行