基本上,我希望有一个线程池来在给定的时间段内执行一些任务。我认为 Python 中的多处理库非常适合我这样做。但是,我想不出一种方法,当一个进程完成时(并且不等待池中的其他线程完成),返回主线程并执行某些任务(增量变量,检查时间是否已达到阈值等)以潜在地使用新参数启动新过程。例如,这里函数的所有参数都预先给出 (1..10) 以供进程池 (4) 处理:
from multiprocessing import Pool
def f(x):
return x*x
if __name__ == '__main__':
pool = Pool(processes=4) # start 4 worker processes
print pool.map(f, range(10)) # prints "[0, 1, 4,..., 81]"
但是,由于我需要在特定时间段内执行某些任务,这对我没有帮助,因为我不一定知道这些任务需要多长时间才能完成。有没有办法做到这一点?