由于线程是较晚才加入 Emacs Lisp 的特性,再加上动态绑定有时会与 accept-process-output 配合使用,默认情况下一个进程会被锁定在创建它的线程上。当进程被锁定到某个线程时,只有该线程才能接收此进程的输出。
Lisp 程序可以指定进程要锁定到哪个线程,或指示 Emacs 解除进程的锁定,此时它的输出可以由任意线程处理。同一时间只会有一个线程等待某个进程的输出——一旦某个线程开始等待输出,该进程会被临时锁定,直到 accept-process-output 或 sit-for 返回。
如果线程退出,所有锁定到该线程的进程都会被解除锁定。
返回 process 被锁定到的线程。如果 process 未被锁定,则返回 nil。
将 process 的锁定线程设置为 thread。thread 可以是 nil,此时进程会被解除锁定。