完成后是否可以获得python池结果?

扭曲科技

使用python多处理池时,是否可以在准备好结果时得到结果?

例如,类似这样的东西在results准备好时就会产生结果,而不仅仅是所有结果都准备好了。

args = [ ... ]
def foo():
    pass

pool = multiprocessing.Pool()
results = pool.map_async(foo, l)

for result in results:
    save_result(result)

我能想到的唯一方法是

args = [ ... ]
results = []
def foo():
    pass

pool = multiprocessing.Pool()

for arg in args:
    results.append(pool.apply_async(foo, arg))

while results:
    for result in results:
        if result.ready():
            save_result(result.get())

我在Windows 7 x64上使用Python 3.4

由于您使用的是python 3.2+,因此最简单的方法是使用concurrent.futures而不是multiprocessing.Poolconcurrent.futures.as_completed将为您提供一个迭代器,该迭代器将产生结果。

基本用法结构:

with concurrent.futures.ProcessPoolExecutor(max_workers=5) as executor:
    futures = [executor.submit(foo, arg) for arg in some_args]
    for future in concurrent.futures.as_completed(futures):
        #do something with completed result

请参阅链接的文档,其中有更多示例可以帮助您入门。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

损坏完成后是否可以进行非优化?

来自分类Dev

注入完成后是否可以立即运行代码?

来自分类Dev

任务完成后是否可以保留Asynctask变量?

来自分类Dev

下载完成后是否可以关闭uTorrent?

来自分类Dev

我不确定遵循RISC-V代码是否可以获得正确的结果

来自分类Dev

仅执行一个存储过程是否可以获得3个选择查询结果?

来自分类Dev

音频完成后如何获得确认?

来自分类Dev

管道完成后如何获得值?

来自分类Dev

完成后从 BackgroundWorker 函数获得回复

来自分类Dev

LTS台式机在三年后是否可以获得任何更新?

来自分类Dev

LTS台式机在三年后是否可以获得任何更新?

来自分类Dev

完成后如何打印ActionResult的结果

来自分类Dev

完成后使用异步库的结果

来自分类Dev

SwingWorker在完成后挂起:从SwingWorker启动和运行线程池是否是一种不好的做法?

来自分类Dev

如果更换Windows Shell,完成后是否可以还原?

来自分类Dev

websocket握手完成后,是否可以删除HttpClientCodec / HttpServerCodec和HttpObjectAggregator?

来自分类Dev

git commit命令完成后,是否可以在Cmd中显示一些文本?

来自分类Dev

通过使用MATLAB中的CPLEX和Java中的CPLEX求解模型是否可以获得不同的结果?

来自分类Dev

是否可以在每个承诺完成后运行回调,然后在所有承诺完成后运行另一个?

来自分类Dev

将位置命名实参(* args,** kwargs)传递给函数后,是否可以获得正确的输出?

来自分类Dev

是否可以获得推送通知的交付时间戳?

来自分类Dev

是否仍然可以获得Skype的用户在线状态?

来自分类Dev

是否可以获得STEM检测器信号?

来自分类Dev

是否可以获得旧版VLC的Deb软件包?

来自分类Dev

是否可以获得旧版VLC的Deb软件包?

来自分类Dev

在Bash中进行除法是否可以获得小数输出?

来自分类Dev

在春季DuplicateKeyException之后是否可以获得键值?

来自分类Dev

是否可以获得租户中所有团队的列表?

来自分类Dev

在获取数据完成后,React Native从promise获得价值

Related 相关文章

  1. 1

    损坏完成后是否可以进行非优化?

  2. 2

    注入完成后是否可以立即运行代码?

  3. 3

    任务完成后是否可以保留Asynctask变量?

  4. 4

    下载完成后是否可以关闭uTorrent?

  5. 5

    我不确定遵循RISC-V代码是否可以获得正确的结果

  6. 6

    仅执行一个存储过程是否可以获得3个选择查询结果?

  7. 7

    音频完成后如何获得确认?

  8. 8

    管道完成后如何获得值?

  9. 9

    完成后从 BackgroundWorker 函数获得回复

  10. 10

    LTS台式机在三年后是否可以获得任何更新?

  11. 11

    LTS台式机在三年后是否可以获得任何更新?

  12. 12

    完成后如何打印ActionResult的结果

  13. 13

    完成后使用异步库的结果

  14. 14

    SwingWorker在完成后挂起:从SwingWorker启动和运行线程池是否是一种不好的做法?

  15. 15

    如果更换Windows Shell,完成后是否可以还原?

  16. 16

    websocket握手完成后,是否可以删除HttpClientCodec / HttpServerCodec和HttpObjectAggregator?

  17. 17

    git commit命令完成后,是否可以在Cmd中显示一些文本?

  18. 18

    通过使用MATLAB中的CPLEX和Java中的CPLEX求解模型是否可以获得不同的结果?

  19. 19

    是否可以在每个承诺完成后运行回调,然后在所有承诺完成后运行另一个?

  20. 20

    将位置命名实参(* args,** kwargs)传递给函数后,是否可以获得正确的输出?

  21. 21

    是否可以获得推送通知的交付时间戳?

  22. 22

    是否仍然可以获得Skype的用户在线状态?

  23. 23

    是否可以获得STEM检测器信号?

  24. 24

    是否可以获得旧版VLC的Deb软件包?

  25. 25

    是否可以获得旧版VLC的Deb软件包?

  26. 26

    在Bash中进行除法是否可以获得小数输出?

  27. 27

    在春季DuplicateKeyException之后是否可以获得键值?

  28. 28

    是否可以获得租户中所有团队的列表?

  29. 29

    在获取数据完成后,React Native从promise获得价值

热门标签

归档