Lisp 查找名为“的包”;“多处理”;通用口齿不清

Lisp 查找名为“的包”;“多处理”;通用口齿不清,lisp,multiprocessing,common-lisp,practical-common-lisp,Lisp,Multiprocessing,Common Lisp,Practical Common Lisp,我正在与SBCL(SBCL 1.2.13.84-7d75f89)合作,从中学习通用Lisp。我遇到了一个问题,试图查找并加载名为多处理的包 () 我试过做(ql:system-apropos“multiprocessing”),(ql:system-apropos“thread”),(ql:system-apropos“smp”),试着看看是否有使用它的quicklisp包 我也用谷歌搜索过,甚至是在,但我似乎在某个地方失败了 如有任何帮助,我将不胜感激。使用Franz Inc.提供的web服务

我正在与SBCL(SBCL 1.2.13.84-7d75f89)合作,从中学习通用Lisp。我遇到了一个问题,试图查找并加载名为
多处理
的包

()

我试过做
(ql:system-apropos“multiprocessing”)
(ql:system-apropos“thread”)
(ql:system-apropos“smp”)
,试着看看是否有使用它的quicklisp包

我也用谷歌搜索过,甚至是在,但我似乎在某个地方失败了

如有任何帮助,我将不胜感激。

使用Franz Inc.提供的web服务器AllegroServe和相应的Allegro Common Lisp(ACL)。ACL有一个名为
多处理
的包,它提供了所需的多处理设施

本书建议为那些不使用Allegro Common Lisp的人使用。请看这本书

PortableAllegroServe有一个名为
acl compat.mp
的包,它以可移植的方式提供了必要的功能。例如,
acl compat.mp:with process lock
acl compat.mp:make process lock

因此,您需要

  • AllegroServe和Allegro Common Lisp
  • PortableAllegroServe及其运行的公共Lisp实现
不过,这些包的名称将略有不同


请注意,本章可能需要一些更新。我不确定这些天使用了多少PortableAllegroServe…

这一章说“最后,锁槽中有一个用函数make process lock创建的进程锁,这是Allegro的多处理包的一部分”,所以我想你必须使用Allegro。或者自己实现必要的功能。查看本章,似乎带有进程锁的
生成进程锁的
与sbcl和
生成互斥锁的
非常相似。您也可以使用带有
锁的
和带有锁的
来执行同样的操作。谢谢。我已经尝试过使用jkiiski评论中提出的想法,这很有效。我还用acl-compat.mp在slime中玩过,它似乎也起作用。