Python 线程生命周期
线程对象经历不同的阶段。当创建一个新的线程对象时,必须启动它。这会调用thread类的run()方法。这个方法包含由新线程执行的过程的逻辑。当run()方法结束时,线程完成其任务,并与主线程合并。
在线程运行时,它可以暂停一段预定的时间,或者被要求在某个事件发生之前暂停。指定的时间间隔过后,线程恢复运行,或者该过程结束后恢复运行。
Python的标准库有两个模块,”_thread”和”threading”,包含处理线程的功能。”_thread”模块是一个低级别的API。在Python 3中,加入了 threading模块 ,它为线程管理提供了更全面的功能。
Python的_thread模块
_thread
模块(早期的 thread 模块)从版本2起成为Python标准库的一部分。它是一个低级别的线程管理API,并作为许多其他具有高级并发执行功能的模块(如线程和多进程)的支持。
Python – threading模块
较新的threading模块为线程管理提供了更强大、高级的支持。
Thread类表示在单独的控制线程中运行的活动。有两种指定活动的方式:通过将可调用对象传递给构造函数,或者通过在子类中重写run()方法。
threading.Thread(target, name, args, kwarg, daemon)
参数
-
target − 在新线程开始时要调用的函数。默认值为None,表示不调用任何函数。
-
name − 线程的名称。默认情况下,构建一个唯一的名称,如”Thread-N”。
-
daemon − 如果设置为True,则新线程在后台运行。
-
args和kwargs − 传递给目标函数的可选参数。