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

python 进程池Pool

2015-07-07 09:56 671 查看
#-*- coding:utf-8 -*-
from multiprocessing import Pool
import os,time,random

def long_time_task(name):
print 'Run task name %s and pid : %s..'%(name,os.getpid())
start = time.time()
time.sleep(random.random()*3)
end = time.time()
print 'Task %s betwine %s '%(name,(end-start))
#    pass
if __name__ == '__main__':
print 'Parent process %s.'%os.getpid()
p=Pool()
for i in range(5):
print 'now I is ' and i
print 'Parent process %s.'%os.getpid()
p.apply_async(long_time_task,args=(i,))
print 'Wait for all subprocesses done...'
print (i,)
p.close()
p.join()
print 'All over'


结果(类):

Parent process 3896.
0
Parent process 3896.
1
Parent process 3896.
2
Parent process 3896.
3
Parent process 3896.
4
Parent process 3896.
Wait for all subprocesses done...
(4,)
Run task name 0 and pid : 4300..
Run task name 1 and pid : 4596..
Task 1 betwine 1.32100009918
Run task name 2 and pid : 4596..
Task 0 betwine 2.61500000954
Run task name 3 and pid : 4300..
Task 2 betwine 2.65400004387
Run task name 4 and pid : 4596..
Task 4 betwine 0.599999904633
Task 3 betwine 2.77799987793
All over
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: