9.1 构建线程状态
thread state 类型概述
需要先将帧(frame)绑定到一个线程上,它才能够被执行。CPython 可以在单个解释器中同时运行多个线程,而**解释器状态(interpreter state)**保存了由这些线程状态组成的链表。
CPython 至少包含一个线程,每个线程都有它自己的状态。
参见
关于线程更加细节的知识将在“并行和并发”这一章详细阐述。
线程状态类型
线程状态类型(PyThreadState
)包含了 30 多个属性,主要包括:
线程的唯一标识符;
指向其他线程状态的链表;
该线程状态由哪一个解释器状态生成;
当前正在执行的帧;
当前递归的深度;
可选的追踪函数;
当前正在处理的异常;
当前正在处理的任意异步异常;
产生多个异常时抛出的异常栈(例如在
except
代码块中触发的异常);GIL 计数器;
异步生成器计数器。
相关的源文件
与线程状态相关的源文件分布在多个文件中:
Last updated