python线程如何销毁
大家好,请教个python线程销毁的问题 伪代码大概如下:
class UDPListenThread(threading.Thread):
def __init__(self,window,sockets,isav_or_feedback):
threading.Thread.__init__(self)
self.window = window
self.socket = sockets
self.timeToQuit = threading.Event()
self.timeToQuit.clear()
self.data=''
self.udp_addr = ''
self.isav_or_feedback = isav_or_feedback
def run(self):
while True:
if self.isav_or_feedback == 2 and self.window.sentFeedbackResponse == 1:
sleep(1)
else:
data,addr = self.socket.recvfrom(2048)
self.udp_addr = addr
if not data:
break
else:
wx.CallAfter(self.window.SetUdpClientAddress,addr)
if self.isav_or_feedback == 1 and self.window.sentAVApplyResponse == 1:
self.sendAVStream()
self.socket.close()
def stop(self):
print 'close UDP socket'
self.socket.close()
self.timeToQuit.set()
def sendAVStream(self):
file_object = open('record.ts', 'rb')
length = 0
i = 0
a_length = 0
try:
while True:
chunk = file_object.read(940)
if not chunk:
file_object.seek(0)
i = 0
continue
packet = struct.pack(str(dl)+'s',pack_data)
try:
self.socket.sendto(chunk , self.udp_addr)
except:
break
sleep(0.001)
finally:
file_object.close( )