首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >py4j打开的线程太多

py4j打开的线程太多
EN

Stack Overflow用户
提问于 2017-04-25 13:40:31
回答 1查看 272关注 0票数 0

我正在使用py4j从Java到Python进行通信。我将下面的Java代码打包到一个Jar中,我正在运行java -jar file.jar命令,但是查看它,我可以看到这个命令在单独的线程中运行了大约30次,尽管我调用了它一次。我怀疑这是因为py4j的实现方式。如何设置py4j使用的最大线程数?我可以在Java和python之间使用哪些内存较低的通信?

代码语言:javascript
复制
public static void main(String[] args) {
    final GroupTerms groupTerms = new GroupTerms();
    new GatewayServer(groupTerms).start();
  }
EN

回答 1

Stack Overflow用户

发布于 2017-04-26 06:13:33

这个问题的细节很少。以下是影响Py4J创建的线程数量的两个主要因素:

  1. 并发请求数。Py4J会在服务器端的上创建尽可能多的线程,但会尽可能地重用它们。例如,如果有10个Java线程同时调用Python线程,Py4J最终可能会在Python端创建10个线程。Java和Python之间的另一个direction.
  2. Recursion深度也是如此。Py4J使用的常规线程模型将为Java和Python之间的每个递归级别创建一个新线程(例如,Java调用Python,而Python调用调用Python的Java )。您可以使用pinned-thread model来确保只创建一个线程。

更多关于Java和Python代码之间交互的详细信息将有助于解决问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43602485

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档