Pythonではmultiprocessing
モジュールを使用して、ある範囲の値に対して並列に関数を実行できます。たとえば、fの最初の100000評価のリストが生成されます。Pythonマルチプロセッシング複数の入力を持つ関数
def f(i):
return i * i
def main():
import multiprocessing
pool = multiprocessing.Pool(2)
ans = pool.map(f, range(100000))
return ans
fが複数の入力を取りますが、1つの変数だけが変更されても同様のことができますか?たとえば、あなたはこれを並列化する方法を:
def f(i, n):
return i * i + 2*n
def main():
ans = []
for i in range(100000):
ans.append(f(i, 20))
return ans
Thilは、「インポート可能」でない(pickleツールを使用して)機能をサポートしていないため、マルチプロセッシングのマップでは扱いません* – Lagerbaer