Previous: 条件变量, Up: 线程 [Contents][Index]
40.4 线程列表 ¶
list-threads 命令用于列出当前所有活动线程。
在生成的缓冲区中,每个线程会通过传给 make-thread 的名称标识(see 基础线程函数),
若创建时未指定名称,则使用其唯一内部标识符。缓冲区会显示每个线程在创建或最后刷新时的状态,
以及线程当时阻塞等待的对象(若处于阻塞状态)。
- Variable: thread-list-refresh-seconds ¶
*Threads* 缓冲区默认每秒自动刷新两次。你可以通过自定义该变量
调快或调慢刷新频率。
以下为线程列表缓冲区中可用的命令:
-
b ¶
显示光标所在位置线程的调用栈回溯。该回溯会展示按下 b 时,
线程在代码中让出执行权或阻塞的位置。注意该回溯仅为快照;
此时线程可能已恢复执行并处于不同状态,甚至已经退出。
回溯缓冲区不会自动更新,你可在其中按 g 获取最新的回溯信息。
有关回溯及其他相关命令的说明,参见 See 调用栈。
- s
向光标所在线程发送信号。按下 s 后,按 q 发送退出信号,
或按 e 发送错误信号。线程可自行实现信号处理逻辑,
但默认行为是收到任意信号后退出。因此仅当你知晓如何重启目标线程时才可使用该命令,
否则必要线程被终止后,Emacs 会话可能出现异常行为。
- g
刷新线程列表及其状态信息。