我可能会问一个非常基本的问题,但我真的不知道如何在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