当类实例不需要了,怎么在类实例里面释放掉类实例
当类实例不需要了,如何在类实例里面释放掉类实例?
当有连接进来便新建一个客户端类实例,客户端类实例里面有一个接收数据线程与客户端保持通信,如果客户端断开了连接,这时应该怎么在接收数据线程里释放客户端类实例?
class 客户端类
dim 客户端 As Socket
dim Th As Thread
sub new(ByVal socktes As Socket)
客户端 = socktes
th = New Thread(AddressOf 接收数据)
th.Start()
End Sub
Private Sub 接收数据()
Dim bytes(1024) As Byte
Dim data As String
Dim tokens() As String
While True
Dim bytesRec As Integer = 客户端.Receive(bytes)
data = Encoding.UTF8.GetString(bytes, 0, bytesRec)
tokens = data.Trim.Split( "| ")
Select Case tokens(0) '分析接收到的数据类型
Case "消息 "
……
Case "退出 "
---------------------------------------
客户端退出,这时应该怎么释放客户端类实例?
---------------------------------------
th.Abort()
End Select
End While
End Sub
end class
------解决方案--------------------
.Close()不行嗎
------解决方案--------------------
.dispose()
------解决方案--------------------
為什么要釋放這個客戶端類,這個是由gc管理的,不需要你管理。
当有连接进来便新建一个客户端类实例,客户端类实例里面有一个接收数据线程与客户端保持通信,如果客户端断开了连接,这时应该怎么在接收数据线程里释放客户端类实例?
class 客户端类
dim 客户端 As Socket
dim Th As Thread
sub new(ByVal socktes As Socket)
客户端 = socktes
th = New Thread(AddressOf 接收数据)
th.Start()
End Sub
Private Sub 接收数据()
Dim bytes(1024) As Byte
Dim data As String
Dim tokens() As String
While True
Dim bytesRec As Integer = 客户端.Receive(bytes)
data = Encoding.UTF8.GetString(bytes, 0, bytesRec)
tokens = data.Trim.Split( "| ")
Select Case tokens(0) '分析接收到的数据类型
Case "消息 "
……
Case "退出 "
---------------------------------------
客户端退出,这时应该怎么释放客户端类实例?
---------------------------------------
th.Abort()
End Select
End While
End Sub
end class
------解决方案--------------------
.Close()不行嗎
------解决方案--------------------
.dispose()
------解决方案--------------------
為什么要釋放這個客戶端類,這個是由gc管理的,不需要你管理。