使用process模块创建进程
from multiprocessing import Process
def f(name):
print('hello', name)
print('我是子进程')
if __name__ == '__main__':
p = Process(target=f, args=('bob',))
p.start()
time.sleep(1)
print('执行主进程的内容了')
- 在windows使用该模块需要在if name ==‘main’里面,不然会报错
- args=(‘bob’,) 传递参数时使用的,注意只有一个参数是要有逗号。p.start() 才使子进程开始运行
- 模块multiprocess中创建了子进程完,父进程会等所有子进程都运行完,才结束
- 正常创建子进程后主进程不会阻塞,但是可以使用代码p.join()会等到子进程结束后,再向下执行代码,p.join(10) 10代表超时时间,超过10秒就不等了,就等于程序把异步变成同步
- 多进程之间数据是完全隔离的,各自使用各自的