2024-09-30 14:32:24 发布
网友
我需要对一个大型生成器中的所有项并行应用一个函数。我不想缓冲返回值,它只是一个巨大的None数组。在
None
我不知道如何使用concurrent.futureAPI来实现这一点。在
concurrent.future
通过一个带有worker cap的线程池将函数应用于生成器中的项,丢弃结果的最简单、最有效的方法是什么?在
好吧,我就是这么做的。给出以下定义:
from concurrent import futures import itertools func = print # any function tasks = iter(iterable) # any one-time-only iterator workers = 10
这将使用worker cap将func映射到{},丢弃结果:
func
如果您希望为迭代类似于状态机的多个对象扩展实现,您可以使用我编写的程序。在
https://github.com/talvezu/Python/blob/master/examples/concurrency/producer_consumer_generatored_thread_poll_with_inheritance.py
2上下文。 一个从文件读取任务(2个不同的对象代表2个状态机) 一个上下文保存线程池,当将来完成时,它将使用线程安全队列来通知它已完成,这将导致调用next()方法并继续下一次迭代。在
当对象达到“完成”状态时,它不再返回到池中。在
好吧,我就是这么做的。给出以下定义:
这将使用worker cap将},丢弃结果:
^{pr2}$func
映射到{如果您希望为迭代类似于状态机的多个对象扩展实现,您可以使用我编写的程序。在
https://github.com/talvezu/Python/blob/master/examples/concurrency/producer_consumer_generatored_thread_poll_with_inheritance.py
2上下文。 一个从文件读取任务(2个不同的对象代表2个状态机) 一个上下文保存线程池,当将来完成时,它将使用线程安全队列来通知它已完成,这将导致调用next()方法并继续下一次迭代。在
当对象达到“完成”状态时,它不再返回到池中。在
相关问题 更多 >
编程相关推荐