1

Python のマルチプロセッシング モジュールのプールの目的を理解するのに苦労しています。

私はこのコードが何をしているのか知っています:

import multiprocessing

def worker():
    """worker function"""
    print 'Worker'
    return

if __name__ == '__main__':
    jobs = []
    for i in range(5):
        p = multiprocessing.Process(target=worker)
        jobs.append(p)
        p.start()

私の質問は、プールはどのような状況で使用されるのでしょうか?

4

1 に答える 1

2

Poolオブジェクトは、より多くのタスクをサブプロセスにサブミットできるようにしたいが、これらのタスクのすべての編成を処理したくない場合 (つまり、それらを処理するためにいくつのプロセスを生成する必要があるか、どのタスクがどのプロセスに行くか) に役立ちます。など)、結果の値のみを気にし、他の種類の同期などは気にしません。サブプロセスの計算を制御するのではなく、単に結果を制御したい場合。

一方Process、特定のアクションを実行したい場合に使用され、計算の結果だけでなく、サブプロセスを制御する必要があります。

于 2013-06-11T20:44:37.433 に答える