Python多进程使用
直接上代码:#!/bin/env pythonimport timefrom multiprocessing import Process,Lock,Pool##导入进程模块Process,锁模块Lock,进程池模块Pool。def sayHi(num):##定义一个函数time.sleep(1)
·
直接上代码:
#!/bin/env python
import time
from multiprocessing import Process,Lock,Pool
##导入进程模块Process,锁模块Lock,进程池模块Pool。
def sayHi(num): ##定义一个函数
time.sleep(1) ##睡一秒,目的是为了更直观感受进程池的作用
return num*num ##返回值
p = Pool(processes=5) ##设定进程池一次最多放5个进程
result_list=[] ##定义一个空数列
for i in range(13):
result_list.append(p.apply_async(sayHi,[i]))
##apply_async(向进程池添加任务 非阻塞方法),运行后的结果添加进数列
for res in result_list:
print res.get() ##从数列中取出结果,并打印
#!/bin/env python
import time
from multiprocessing import Process,Lock,Manager
def run(lis,n):
time.sleep(1)
lis.append(n)
print lis
lock=Lock()
m=Manager() ##一个Manager对象会控制一个服务器进程,其他进程可以通过代理的方式来访问这个服务器进程。
l=m.list(range(1))
for i in range(10):
p = Process(target=run,args=(l,i))
p.start()
p.join()
更多推荐
所有评论(0)