Python 如何强制关闭线程

Python024

Python 如何强制关闭线程,第1张

Python用sleep停止一个线程的运行,而不影响主线程的运行,案例代码如下:

from threading import *import time class MyThread(Thread):def run (self):self.ifdo = True while self.ifdo:print 'I am running...'time.sleep(2) def stop (self):print 'I am stopping it...'self.ifdo = Falsetr = MyThread()tr.setDaemon(True)tr.start()print 'I will stop it...'time.sleep(5)tr.stop()tr.join()

一般来说,多线程模式下,建议主线程只处理线程本身的调度,不去处理具体业务。通常在创建线程后,join等待所有线程退出。 就题主的问题,可以创建线程一、二之后,主线程等待线程一退出,之后用sys.exit退出。

Python 通过threading.Event()产生一个event对象。event对象维护一个内部标志(标志初始值为False),通过set()将其置为True。wait(timeout)则用于堵塞线程直至Flag被set(或者超时,可选的),isSet()用于查询标志位是否为True,Clear()则用于清除标志位(使之为False)。

链接

raise exception 停止线程的方式还未实现???