我可能會問一個非常基本的問題,但我真的不知道如何在python中創建一個簡單的並行應用程序。 我正在16核心的機器上運行我的腳本,我想高效地使用它們。我有16個巨大的文件要讀取,我希望每個CPU讀取一個文件,然後合併結果。 這裏,我給的,我想怎麼做一個簡單的例子:Python,閱讀許多文件併合並結果
parameter1_glob=[]
parameter2_glob[]
do cpu in arange(0,16):
parameter1,parameter2=loadtxt('file'+str(cpu)+'.dat',unpack=True)
parameter1_glob.append(parameter1)
parameter2_glob.append(parameter2)
我認爲multiprocessing
模塊可以幫助,但我不知道如何將它應用到了我想做的事情。
[您是否聽說過Python的GIL](http://stackoverflow.com/questions/990102/python-global-interpreter-lock-gil-workaround-on-multi-core-systems-using-task) – tkone 2012-07-26 14:58:11
有沒有意義使用多個線程......您的應用程序將是磁盤綁定的,而不是CPU綁定的。 – 2012-07-26 14:59:16
@tkone:'multiprocessing'通過使用單獨的解釋器來避免GIL,儘管它不會使磁盤更快。 – geoffspear 2012-07-26 15:00:10