読者です 読者をやめる 読者になる 読者になる

Python multiprocessing

http://www.martinkral.sk/blog/2011/03/python-multicore-vs-threading-example/
http://www.doughellmann.com/PyMOTW/multiprocessing/basics.html

引数をタプルにして、リストに入れる。
リスト内の適当なタプルが引数として関数に渡される。同時にnum_processだけ走る。
関数側でタプルを展開する。
関数の戻り値は引数のタプルのリストに対して、まとめてリストとして返される。
実行順は不明。

from multiprocessing import Pool

def myfunc( set_of_arguments ):
    arg1, arg2 = set_of_arguments

pool = Pool(processes=num_process)

sets_of_arguments = []
for arg1, arg2 in zip( args1, args2 ):
    sets_of_arguments.append( ( arg1, arg2 ) )
results = pool.map( myfunc, sets_of_arguments )