基本的に、特定の期間、いくつかのタスクを実行するために、スレッドへのプールが必要です。これを行うには、Python のマルチプロセッシング ライブラリが最適であると考えました。ただし、プロセスの1つが終了したときに(プール内の他のスレッドが終了するのを待たずに)、メインスレッドに戻って特定のタスクを実行する方法がわかりません(変数をインクリメントし、時間を確認するしきい値に達したなど)、新しいパラメータで新しいプロセスを開始する可能性があります。たとえば、ここでは、処理するプロセスのプール (4) に対して、関数のすべての引数が前もって (1..10) 与えられます。
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]"
ただし、特定の期間にいくつかのタスクを実行する必要があるため、これらのタスクが完了するまでにかかる時間が必ずしもわからないため、これは役に立ちません。これを行う方法はありますか?