【问题标题】:Can a single JVM gateway process control multiple py4j processes/instances?单个 JVM 网关进程可以控制多个 py4j 进程/实例吗?
【发布时间】:2021-03-22 23:21:22
【问题描述】:

Python 有它的 GIL 并且永远是单线程的。另一方面,没有明确的理由说明单个 JVM 实例不能将 Gateway 职责交给 N 个线程中的每一个 - 每个线程处理一个单独的套接字通信一个单独的 python 进程。 py4j 真的可以吗?

【问题讨论】:

    标签: java py4j


    【解决方案1】:

    Java 端的单个 GatewayServer 实例可以处理 N 个 python 进程。

    服务器线程接受线程上的连接,然后为每个新连接/python 进程生成一个新线程。

    您可以阅读有关threading model used in Py4J here 的更多信息。

    【讨论】:

    • 感谢这些文档。我还不清楚如何获得多个 py4j 进程。请注意第 3.4 节。 使用单线程模型(固定线程) 适用于 python 启动的进程(与我想要的相反)。第 3.5 节 从 Java 端发起通信 是我需要的,但没有明确说明如何执行多个进程。你看到如何应用 3.5 来获取多个 py4j 进程了吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-01
    • 1970-01-01
    • 2015-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多