最近Pythonの並列処理をよく使うのでまとめておく。 基本形 並列処理したいメソッドを別に書いてPoolから呼び出す。 multiprocessing.cpu_count()はシステムのCPU数を返す。 僕の環境では4。デュアルコアなのでスレッド数だと思う。 import multiprocessing def f(x): return x*x n = multiprocessing.cpu_count() p = multiprocessing.Pool(n) params = range(1,4) result = p.map(f, params) 1から3までを二乗しているので、次のような結果になる。 >>> print result [1, 4, 9] 複数の引数を渡す Pool().map()には引数は1つしか渡せない。 しかし、これは複数の引数を1つの引数にまとめることで解決