sub_script を並行して実行することを目的とした単純な python スクリプトを、python IDLE (GUI) で実行したところ、正しく動作することがわかりました。しかし、ウィンドウでダブルクリックして、サブスクリプトを一度に実行するのではなく、1つずつ実行するとうまくいきませんでした。以下にコードを投稿します。誰かアドバイスをくれませんか?
import time, multiprocessing, os, abc
rootdir=os.getcwd()
NProc = 6
def wrapfunc(args)
return args[0](*args[1:])
if __name__== '__main__':
print('abc Starts.')
ti=time.time()
pool1=multiprocessing.Pool(processes=NProc)
Childs1 = [[abc.abc, dirpath, filename]
for dirpath, dirname, filenames in os.walk(rootdir)
for filename in filenames
if filename.endswith('.inp')]
pool_map1 = pool1.map_async( wrapfunc, Childs1 )
pool1.close()
pool_map1.wait()
print('The abc takes {0} to finish.'.format(time.time()-ti))
EDIT 1 : 2 つの画像が追加されました。2013/10/27 11:33a.m. UTC+8:00
画像 1: python IDLE (GUI) で開始 <-すべてのウィンドウをポップアウトして並列実行します。
Image2: ダブルクリックで開始 (コマンド ライン) <-キューに入れ、1 つずつ実行します。