我想在主程序停止时停止 Python 线程。它适用于连接到服务器的类。连接由后台线程维护,前台线程响应回调。以下是一个最小的示例。
#!/usr/bin/python
import time, threading
class test():
running = False
def __init__(self):
print "init"
self.running = True
self.thread = threading.Thread(target = self.startThread)
self.thread.start()
def __del__(self):
running = False
print "del"
def startThread(self):
print "thread start"
while self.running:
time.sleep(1)
print "thread running"
a = test()
当程序结束时,我天真地期望调用 __del__() 以便通知后台线程停止,但直到后台线程停止后才调用 i 。显式调用某些函数不是一种选择,因为该类被其他人使用,我不想强迫他们使用一些额外的代码行。