所有示例并发.futures 代码均因“BrokenProcessPool”而失败

2023-11-26

在创建我需要的实际应用程序之前,我试图对此有一个基本的了解。我最近从 2.7 升级到 3.3。

直接复制粘贴这段代码来自 python 文档失败了,一个稍微简单的例子也是如此here.

这是我的代码,源自第二个示例:

import concurrent.futures

nums = [1,2,3,4,5,6,7,8,9,10]

def f(x):
    return x * x

# Make sure the map and function are working
print([val for val in map(f, nums)])

# Test to make sure concurrent map is working
with concurrent.futures.ProcessPoolExecutor() as executor:
    for item in executor.map(f, nums):
        print(item)

这是输出:

[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
Traceback (most recent call last):
  File "<string>", line 420, in run_nodebug
  File "<module1>", line 13, in <module>
  File "C:\Python33\lib\concurrent\futures\_base.py", line 546, in result_iterator
    yield future.result()
  File "C:\Python33\lib\concurrent\futures\_base.py", line 399, in result
    return self.__get_result()
  File "C:\Python33\lib\concurrent\futures\_base.py", line 351, in __get_result
    raise self._exception
concurrent.futures.process.BrokenProcessPool: A process in the process pool was terminated abruptly while the future was running or pending.

我怎样才能让这段代码按预期工作?我希望这些示例能够开箱即用。


这是我的错,原因有二:

  1. 该代码不受保护,即没有if __name__
  2. 看起来奇怪的 Traceback 是因为文件没有保存。以前从未给我带来过问题,但在这种情况下却出现了。

纠正both其中修复了错误。

最终测试代码:

import concurrent.futures

nums = [1,2,3,4,5,6,7,8,9,10]

def f(x):
    return x * x
def main():
    # Make sure the map and function are working
    print([val for val in map(f, nums)])

    # Test to make sure concurrent map is working
    with concurrent.futures.ProcessPoolExecutor() as executor:
        print([val for val in executor.map(f, nums)])

if __name__ == '__main__':
    main()

输出,如预期:

[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

所有示例并发.futures 代码均因“BrokenProcessPool”而失败 的相关文章

随机推荐

  • Git 凭证助手导致“未找到存储库”错误?

    刚刚遇到了这个 Git 行为 它看起来像是凭证存储的错误 git pull Username for https github com Password for https email protected Already up to dat
  • 引导列重叠

    我对引导程序的网格布局有疑问 当我将屏幕大小调整为较小的布局时 我的列彼此重叠 我不确定问题是什么 这是正在发生的事情的图片 这是我的代码 div class container fluid div class row div class
  • 如何让用户使用 OpenCV 选择视频录制设备(网络摄像头)?

    所以我需要的是诸如捕获设备列表之类的东西 还有一些函数可以从用户那里获取他想要在哪个设备上进行流式传输 如何在 win32 C 控制台应用程序中使用 openCV 做这样的事情 正如 Martin 所说 OpenCV 不支持它 但你可以使用
  • Flexbox 自动边距不适用于 IE 中的 justify-content: center

    我有一个表格 其中的单元格可以包含多个图标以及文本 如果存在图标 它们会出现在文本的左侧 有几种可能的对齐情况 仅存在一个图标 图标应居中 仅存在文本 文本应左对齐 图标和文本均存在 图标和文本均应左对齐 我认为我可以通过用弹性盒将所有内容
  • Wildfly 无法加载 Oracle 驱动程序模块

    我正在尝试将 Oracle DB 数据源添加到 Wildfly 10 这是我所拥有的
  • 如何将 twilio 集成到 android 的 React Native 中?

    我正在使用 React Native 来构建需要 twilio 集成的 Android 移动应用程序 我使用了 npm 存储库中的示例代码 https github com rogchap react native twilio const
  • 使用 c++11 原子编写(旋转)线程屏障

    我试图熟悉 c 11 原子 所以我尝试为线程编写一个屏障类 在有人抱怨不使用现有类之前 这更多的是为了学习 自我改进 而不是出于任何实际需要 我的课程基本上如下所示 class barrier private std atomic
  • 如何在 Bash (linux) 或 Python 上仅过滤文件中的可打印字符?

    我想制作一个包含不可打印字符的文件 只包含可打印字符 我认为这个问题与ASCII 控制动作 但我找不到解决方案来做到这一点 也无法理解的含义 16D ASCII控制动作字符 在下面的文件中 输入文件的十六进制转储 00000000 4845
  • 如何检测iOS设备是否支持模糊效果?

    看来不同的iOS设备会渲染UINavigationBars with barStyle UIBarStyleBlack and translucent YES非常不同 考虑 iPhone 4 no tint iPhone 5 no tint
  • for循环不迭代

    在 MATLAB 中如下for loop for i 1 100 Do something such as disp i end 显然并不是真正通过迭代实现的 而是i变成矩阵 1 2 3 100 并且 循环 仅在此矩阵上执行一次i 您可以通
  • 使用 primefaces 扩展 (inputNumber)

    我是新来的primefaces词 我需要使用primefaces扩展名 inputNumber 在 XHTML 文件中我添加 taglib xmlns pe http primefaces org ui extensions 添加罐子时 p
  • 为什么 switch 语句不能应用于字符串?

    编译以下代码会出现错误消息 type illegal int main Compilation error switch expression of type illegal switch std string raj case sda 您
  • 为导航抽屉中的 Android 状态栏着色

    在我正在构建的这个应用程序中 我在我的活动中添加了一个导航抽屉片段 我使用的是 5 0 因此我能够设置primaryColor 和primaryColorDark 以获得正确的颜色 我决定尝试将我的导航抽屉设计得与 Google Now 5
  • Apache2中子文件夹目录浏览

    有一个文件夹位于http myserver 文件夹 我已禁用该文件夹的目录浏览 但我想启用子文件夹的目录浏览http myserver 文件夹 我怎样才能做到这一点 Thanks 这是一个可行的简单解决方案
  • 如何创建打开呼叫日志活动的 Intent?

    我想创建一个 Intent 打开显示当前设备通话记录的屏幕 我如何指定这样的意图 Barmaley 引导我找到了正确的路径 我将类型设置为 Calls ContentType Intent showCallLog new Intent sh
  • Terraform 启用 VM Insights

    有人设法通过 terraforms Insights 为虚拟机启用吗 我能够创建虚拟机 启用日志记录 但无法启用见解 我见过这个问题 但没有找到明确的答案 如何使用 terraform 启用 azure vm application Ins
  • 如何设置 NSExtensionActivationRule 谓词?

    Even 人们比我聪明得多找到语法NSExtensionActivationRule神秘 但即使是像我这样的傻瓜也应该能够复制 粘贴示例 不是吗 不幸的是我什至无法得到苹果的例子上班 当您点击共享表按钮 下面的堆栈跟踪 时 我的操作扩展的主
  • 如何在 JavaScript 更改后重绘 SVG(Internet Explorer 和 Edge)

    有谁知道如何在更改内容后强制 IE 和 Edge 显示 刷新嵌入的 SVG 请参阅下面的代码
  • 如何杀死多进程中的所有池工作人员?

    我想停止单个工作人员的所有线程 我有一个有 10 个工作线程的线程池 def myfunction i print i if i 20 sys exit p multiprocessing Pool 10 init worker for i
  • 所有示例并发.futures 代码均因“BrokenProcessPool”而失败

    在创建我需要的实际应用程序之前 我试图对此有一个基本的了解 我最近从 2 7 升级到 3 3 直接复制粘贴这段代码来自 python 文档失败了 一个稍微简单的例子也是如此here 这是我的代码 源自第二个示例 import concurr