Python如何终止线程?python终止线程的几个方法
罗西汉
优草派
python程序的运行是由一个或者多个进程来进行执行的,但是具体的实现和内存的占用还是由进程内的线程去完成的。简单的说,一个进程由多个线程组成,不同的线程会完成不同的任务。python终止线程的方法在下面这篇文章,一起看看吧。
一、异常处理停止
在python之中停止一个线程可以raise一个Exception,也就是是异常来停止线程。这个方法的缺点在于如果线程在解释器busy之外,那么就无法捕获异常。应该指定一个异常然后清理就能停止线程了,示例如下:
# 定义一个函数表示线程 def counts(num): # 进入函数就强制捕获异常来停止线程 if true” raise ValueError(”数据错误”)
二、退出标志
一个比较好用的方式就是在每一个线程后面都加上一个退出的请求标志,表示在执行完成后就自动的退出,不再占用资源和内存,具体事例如下:
# 导入线程操作模块threading import threading # 定义一个函数在执行完毕后自动退出 def __init__(self): super(this, self).__init__() self._stop_event = threading.Event()
三、强制中断
在threading模块中还有一个方法join可以用来检验线程池中的线程是否已经结束了,没有结束就执行线程堵塞,被堵塞的线程会一直无法向下执行直到进程结束,代码示例如下:
import threading def doWaiting1(): print 'start waiting1: ' + time.strftime('%H:%M:%S') + " thread = threading.Thread(target = doWaiting1) thread.join()
以上就是python之中终止线程的三个不同方法示例和解析了,希望能够解答你的问题。
【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。