您的位置:首页 > 编程语言 > Python开发

Python 多进程应用示例

2015-04-02 10:59 323 查看
import multiprocessing
import time

def func(name):
outputline=name
for i in range(3):
outputline+= " repeat "+str(i)
time.sleep(1)
return outputline

def main():
pool=multiprocessing.Pool(processes=4)
result=[]
for i in range(4):
pname="cpu_%d"%i
result.append(pool.apply_async(func, (pname, )))
pool.close()
pool.join()
for res in result:
print res.get()
print "all processes done"

if __name__ == '__main__':
main()


示例2,使用锁同步

import multiprocessing
import time

def func(name,lock):
outputline=name
for i in range(3):
outputline+= " repeat "+str(i)
lock.acquire()
print name+" repeat "+str(i)
lock.release()
time.sleep(1)
return outputline

def main():
lock=multiprocessing.Lock()
subprocesses=[]
for i in range(4):
pname="cpu_%d"%i
process=multiprocessing.Process(target=func, args=(pname,lock))
process.start()
subprocesses.append(process)

for p in subprocesses:
p.join()

print "all processes done"

if __name__ == '__main__':
main()


ref:
http://www.coder4.com/archives/3352 http://www.cnblogs.com/vamei/archive/2012/10/12/2721484.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: