【发布时间】:2021-03-22 23:21:22
【问题描述】:
Python 有它的 GIL 并且永远是单线程的。另一方面,没有明确的理由说明单个 JVM 实例不能将 Gateway 职责交给 N 个线程中的每一个 - 每个线程处理一个单独的套接字通信一个单独的 python 进程。 py4j 真的可以吗?
【问题讨论】:
Python 有它的 GIL 并且永远是单线程的。另一方面,没有明确的理由说明单个 JVM 实例不能将 Gateway 职责交给 N 个线程中的每一个 - 每个线程处理一个单独的套接字通信一个单独的 python 进程。 py4j 真的可以吗?
【问题讨论】:
Java 端的单个 GatewayServer 实例可以处理 N 个 python 进程。
服务器线程接受线程上的连接,然后为每个新连接/python 进程生成一个新线程。
您可以阅读有关threading model used in Py4J here 的更多信息。
【讨论】: