#!/usr/bin/env python # -*- coding:utf-8 -*- '''多进程manager''' import multiprocessing def worker(d,l): l += range(11,16) for i in xrange(10): key = ('key{0}'.format(i)) value = ('value{0}'.format(i)) d[key]=value if __name__ =="__main__": manager = multiprocessing.Manager() d = manager.dict() l = manager.list() p = multiprocessing.Process(target=worker,args=(d,l)) p.start() p.join() print(d)print(l)
#!/usr/bin/env python # -*- coding:utf-8 -*- '''进程池''' import multiprocessing ##阻塞和非阻塞的区别 #POOL.apply_async 非阻塞,定义的进程池进程最大数可以同时执行 #POOL.apply 一个进程结束,释放回进程池,下一个进程才可以开始 import time def worker(m): print('start{0}'.format(m)) time.sleep(1) print('end{0}'.format(m)) if __name__ == "__main__": print('main start') pool = multiprocessing.Pool(processes=3) ##参数为进程池数 for i in range(1,11): m = i pool.apply_async(func=worker,args=(m,)) pool.close() pool.join() print('main end')
demon14.5-14.6
最新推荐文章于 2024-08-15 12:09:10 发布