如何解决带有 ThreadPoolExecutor 的生成器
我想使用 ThreadPoolExecutor
并行运行多个生成器,但找不到方便的方法。
这里有一些代码可以稍微说明我需要什么。
def mygen(i):
for j in range(10):
yield i*j
def combined_gen():
with concurrent.futures.ThreadPoolExecutor() as ex:
futures = [ex.submit(mygen,i) for i in range(10)]
for future in concurrent.futures.as_completed(futures):
yield from future.result()
但它不起作用。
一种方法是
def mygen(i):
return [
i*j for j in range(10)
]
但是在这里,我们需要等待整个列表在它返回之前计算完毕。
我希望 mygen
继续计算这些值,但继续产生它已经计算过的任何值。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。