Python multiprocessing を使用して次のコードを並列化するにはどうすればよいですか
def func(a,i):
if (a>i):
func(a-1,i)
func(a-5,i)
else :
print a
編集:親プロセスが終了すると、すべての子サブプロセスも終了するというのは本当ですか?
編集2:
次のコードを実装しましたが、機能していません。エラーを見つけてください。
p=[]
def func(a,i):
if a>i :
proc=Process(target=func,args=(a-1,i,))
p.append(proc)
proc=Process(target=func,args=(a-5,i,))
p.append(proc)
else :
print a
if _name_=='_main_':
proc=Process(target=func,args=(100,25,))
p.append(proc)
for x in p:
x.start()
x.join()
サブプロセスがリストに追加されているにもかかわらず、上記のコードは (100,25) に対してのみ実行され、サブプロセスに対しては実行されません。