优草派  >   Python

如何结束​Python线程?Python结束线程的方法有哪些?

翟嘉慧            来源:优草派

我们在对Python进行线程执行的时候,在大多数情况下是通过模块来进行执行,在执行完之后还需要手动的进行关闭,有很多的小伙伴都不知道怎么去结束Python线程,今天的这篇文章就会带着大家一起去学习一些结束线程的方法,希望可以帮助到大家。

如何结束Python线程?Python结束线程的方法有哪些?

一、创建线程

我们在对线程的操作过程时,一般使用的都是Python中的库,叫做threading,它是一种对线程进行操作的库,如果要要关闭线程首先就需要创建出线程,创建线程的第一步就是对这个库进行导入,导入方法如下:

import threading

导入之后就可以开始使用了。

二、定义方法和线程

在导入threading模块之后,我们需要定义一个方法,然后再创建一个线程,才能对它进行使用,这是因为在Python线程中,收拾以函数为单位的。举个例子:

定义方法:

def HH():
...
...

定义线程:

定义线程,是将target对我们要执行的方法进行指定,如下:

myTh = threading.Thread(target=HH)

三、启动线程

启动线程就跟调用线程一样,直接在线程的后面接上start,然后在加上一对圆括号,格式如下:

myTh.start()

四、关闭线程

import inspect
import ctypes
def _async_raise(ttd, exctype):
    ttd = ctypes.c_long(ttd)
    if not inspect.isclass(exctype):
        exctype = type(exctype)
    res = ctypes.pythonapi.PyThreadState_SetAsyncExc(ttd, ctypes.py_object(exctype))
    if res == 0:
        raise ValueError("invalid thread id")
    elif res != 1:
        ctypes.pythonapi.PyThreadState_SetAsyncExc(ttd, None)
        raise SystemError("PyThreadState_SetAsyncExc failed")
def stop_thread(thread):
_async_raise(thread.ident, SystemExit)

我们在对线程进行关闭之前,一定要考虑清楚,因为线程关闭了,函数也就不会再执行了。

以上就是关于“如何结束Python线程?Python结束线程的方法有哪些?”的全部内容了,希望对大家的学习带来一定的帮助,如果还想学习其他的Python线程知识,可以继续关注哦。

【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。
TOP 10
  • 周排行
  • 月排行