将 hylang 与 python 多处理一起使用的示例



我正在寻找一个将python多处理(即进程池/线程池,作业队列等(与hylang一起使用的示例。

multiprocessing文档中的第一个示例可以按字面意思翻译成 Hy,如下所示:

(import multiprocessing [Pool])
(defn f [x]
  (* x x))
(when (= __name__ "__main__")
  (with [p (Pool 5)]
    (print (.map p f [1 2 3]))))
请注意

,简单的翻译在macOS上遇到了一个问题(官方不支持,但无论如何都可以正常工作(:Hy将sys.executable设置为Hy解释器,multiprocessing依赖于该值来启动新进程。您可以通过调用 (multiprocessing.set_executable hy.sys_executable) 来解决该特定问题,但随后它将无法解析包含 Hy 代码本身的文件,由于某种原因,它在子进程中再次解析。因此,似乎没有一个好的解决方案可以在Mac上本机运行的Hy中使用多处理。

我想这就是为什么我们有Docker。

相关内容

  • 没有找到相关文章

最新更新