emacs 是否将 运行 线程限制为最多 3 个?

Does emacs limit the running threads up to 3?

htop 查看两个 运行 emacs 服务器的状态为:

执行线程的数量是常量 3,即使有更多的缓冲区和 windows 从一帧打开也保持即时。

是否将线程限制为最多 3 个?

Emacs 大体上是 single-threaded,因此这 3 个线程很可能是 Gtk、Glib 或您的 Emacs 构建使用的某些此类库在内部使用的辅助线程。

您可以通过 make-thread 创建新话题,例如

(make-thread (lambda () (sit-for 20)) "sitting")

应该显示类似

的内容

但是正如 Stefan 指出的那样,如果您搜索 emacs 代码库,您将不会在 lisp 的实现之外找到很多线程创建(例如 Fmake_thread)。