Python无法启动新线程,但只有少数活动线程

时间:2017-07-14 06:28:55

标签: python multithreading python-3.x multiprocessing python-multithreading

我尽力在stackoverflow和google上搜索此问题,但到目前为止还没有发现。 python程序不断遇到Can't start new thread问题。如果我通过threading.enumerate()注销活动(活动)线程,我只会看到少数(少于10个)线程。即使只有少量的活动线程,python是否有可能遇到can't start new thread

一些猜测:

  1. 我没有为新创建的主题命名。因此线程名称从thread-1增加到thread-VERY-BIG-NUMBER。 VERY-BIG-NUMBER是否有可能超出系统限制?

  2. 我使用名为stopit(https://pypi.python.org/pypi/stopit)的python库来超时一些长时间的操作(REST请求)。如果超时,该库将在执行线程中引发异常。但是,当python抛出Can't start new thread时,我只看到< 10个活动线程。是否有可能某些遗留线程未终止并正在运行但未显示为活动线程?

  3. 任何帮助表示赞赏!

    跟进并修改

    操作系统:Ubuntu 14.04

    最小样本:这是一个非常大的系统,无法在此处发布整个系统代码。因为我不知道这个问题的原因,所以我还没有能够提出一个简短且可重复的样本程序。

0 个答案:

没有答案