我正在sbcl上運行一些lisp代碼,以便在模式守護進程中運行函數。 問題是,當我使用功能SB-thred:使線程,例如如下:需要幫助運行線程SBCL
(sb-thread:make-thread (lambda() (progn (sleep 1) (when t (print "background action")))))
我收到以下錯誤信息:
Not supported in unithread builds. [Condition of type SIMPLE-ERROR]
有什麼不對? ... 感謝幫助。
它看起來像你的SBCL沒有多線程的支持。你在運行MacOS X嗎?如果是這樣,[本文](http://haminhvuong.tumblr.com/post/22109095116/compile-sbcl-with-multi-thread-enabled-on-os-x)可能會對您有所幫助。 –
我不太瞭解MacPorts告訴你,但它看起來像一個基於源代碼的軟件包管理器,因此從源代碼構建應該是過程的一部分,並且您只需要瞭解如何爲構建指定選項。值得一提的是,我使用的Linux發行版(Gentoo)基於相同的原理,通過設置'threads' USE標誌,我可以使SBCL成爲多線程。 –
聽起來你是對的。我正在運行Mac OS X mavericks。我已經使用macports安裝sbcl(版本1.1.14)。我該怎麼辦。也許我必須使用macports(???)刪除sbcl,然後像鏈接中所解釋的那樣「手動」安裝sbcl? ...我希望它存在另一種方式去做... – yannics