Python-线程生命周期


线程对象会经历不同的阶段。当一个新的线程对象被创建时,它必须被启动。这会调用线程类的run()方法。该方法包含新线程要执行的进程的逻辑。当 run() 方法结束时,线程完成其任务,并且新创建的线程与主线程合并。

当线程正在运行时,它可能会暂停预定的持续时间,也可能会被要求暂停直到某个事件发生。线程在指定的时间间隔后或进程结束后恢复。

线程生命周期

Python 的标准库有两个模块:“_thread”和“threading”,其中包含处理线程的功能。“_thread”模块是一个低级 API。在Python 3中,已经包含了threading模块,它为线程管理提供了更全面的功能。

Python _thread 模块

_thread模块(早期的线程模块)自版本 2 以来一直是 Python 标准库的一部分。它是用于线程管理的低级 API,并支持许多具有高级并发执行功能(例如线程)的其他模块和多处理。

Python - 线程模块

较新的线程模块为线程管理提供了更强大的高级支持。

Thread 类表示在单独的控制线程中运行的活动。有两种方法可以指定活动:将可调用对象传递给构造函数,或者重写子类中的 run() 方法。

threading.Thread(target, name, args, kwarg, daemon)

参数

  • target - 新线程启动时要调用的函数。默认为 None,表示不调用任何内容。

  • name - 是线程名称。默认情况下,会构造一个唯一的名称,例如“Thread-N”。

  • daemon - 如果设置为 True,新线程在后台运行。

  • args 和 kwargs - 传递给目标函数的可选参数。