Python多进程之multiprocessing模块和进程池的实现 | 您所在的位置:网站首页 › daemon作用 › Python多进程之multiprocessing模块和进程池的实现 |
Python 多进程之 multiprocessing 模块和进程池的实现 1 、利⽤ multiprocessing 可以在主进程中创建⼦进程,提升效率,下⾯是 multiprocessing 创建进程的简单例⼦,和多线程的使⽤⾮常相似 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 ''' 代码是由主进程⾥⾯的主线程从上到下执⾏的 , 我们在主线程⾥⾯⼜创建了两个⼦进程,⼦进 程⾥⾯也是⼦线程在⼲活,这个⼦进程在主进 程⾥⾯ ''' import
multiprocessing import
time
def
f0(a1): time.sleep(3) print(a1) if
__name__ ==
'__main__':#windows 下必须加这句
t =
multiprocessing.Process(target=f0,args=(12,)) t.daemon=True# 将 daemon 设置为 True ,则主线程不⽐等待⼦进程,主线程结束则所有结束 t.start()
t2 =
multiprocessing.Process(target=f0, args=(13,)) t2.daemon =
True t2.start()
print('end')# 默认情况下等待所有⼦进程结束,主进程才结束 这⾥的结果是直接打印出 end 就结束了,因为添加了 t.daemon=True , join ⽅法在进程⾥⾯也可以⽤,跟线程的⽤法⾮常相似 2 、进程之间默认是不能共⽤内存的 1 2 3 4 5 6 7 8 9 10 11 12 13 li =
[]
def
f1(i): li.append(i) print(' 你好 ',li)
if
__name__ =='__main__':# 进程不能共⽤内存 for
i in
range(10): p =
Process(target=f1,args=(i,)) p.start()
''' 每个进程都创建⼀个列表,然后添加⼀个因素进去,
每个进程之间的数据是不能共享的 结果如图 |
CopyRight 2018-2019 实验室设备网 版权所有 |