次のプログラムでは、定期的にチェックする方法は次のとおりです。
- まだ開始されていないタスクの数
- 現在働いている労働者の数
- 完了したタスクの数
- それらのステータス(タイムアウトした場合)
コードは次のとおりです。
from multiprocessing import Pool
import time
def f(x):
time.sleep(x)
return x*x
if __name__ == '__main__':
pool = Pool(processes=4) # start 4 worker processes
ar = pool.map_async(f, range(10)) # prints "[0, 1, 4,..., 81]"
pool.close()
pool.join()
ar.wait()
print ar.get()