需要帮助运行线程 SBCL

yan*_*ics 4 sbcl common-lisp background-thread

我正在 sbcl 上编写一些 lisp 代码,以便在守护进程模式下运行函数。问题是当我使用函数 sb-thred:make-thread 时,例如如下:

(sb-thread:make-thread (lambda () (progn (sleep 1) (when t (print "background action")))))
Run Code Online (Sandbox Code Playgroud)

我收到以下错误消息:

Not supported in unithread builds. [Condition of type SIMPLE-ERROR]
Run Code Online (Sandbox Code Playgroud)

怎么了 ?... 感谢帮助。

Pue*_*Pop 5

SBCL 在 Mac OS X 上默认禁用线程。要检查 SBCL 是否是使用 repl 中运行的线程构建的

(member :sb-thread *features*)
Run Code Online (Sandbox Code Playgroud)

如果没有,请从源代码编译它(使用当前的 SBCL)。从安装

sh make.sh --with-sb-thread
Run Code Online (Sandbox Code Playgroud)