我使用的是英特尔奔腾(R)双核E5700@3.00GHz,2GB内存。
我正在学习Python的multiprocessing
模块。我写了一个简单的程序来执行加法运算,但它不起作用;我只是核心2的一部分。我的电脑或代码有问题吗?在
import multiprocessing
print "number of core ",multiprocessing.cpu_count()
def calc(a,b):
c= a+b
return c
if __name__ =='__main__':
p1 = multiprocessing.Process(target=calc,args=(3,5) )
p1.start()
p2 = multiprocessing.Process(target=calc,args=(2,2) )
p2.start()
p1.join()
p2.join()
在}作为
calc
函数中,需要将return
更改为print
。在我的四核机器(运行OSX Mavericks)上,这是我在终端中运行脚本时的输出。您还应该将p1.join()
和{if __name__ == "__main__
的一部分。在我在终端使用的代码。。。在
^{pr2}$在使用
Python Launcher.app
之后,它在终端中打开并给出我上面给出的输出。。。在我建议你用Queue。看这个例子:
动态相同的代码:
^{pr2}$一切都很顺利,包括我在pycharm下的calc程序,唯一的问题是IDE,我使用的是pyscripter
相关问题 更多 >
编程相关推荐