1
在progn
内部,我必须确保asdf:run-shell-command
(需要时间来处理)在下一步之前完成。Lisp中的线程同步
(progn
(do-data-for-next-command)
(asdf:run-shell-command ...)
(do-something-when-previous-command-is-done))
请注意,我使用Clozure CL和SBCL。
我想我必须用线程来管理。我在Clozure CL文档中发现了类似make-lock
的东西,但我不知道如何使用它。
由于某种原因'ccl:run-program'不能用于我的参数。 'asdf:run-shell-command'应该使用参数':wait t'(这是默认值)。 问题是我的shell命令在后台启动一个进程。这个过程需要时间来操作(打开数据报套接字的时间)。 无论如何,等待一个真正的解决方案,我通过在run-shell-command之后包含(sleep 10)正确的方法做了一次黑客攻击。 – yannics 2014-10-16 18:53:44