python3 系统编程

使用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秒就不等了,就等于程序把异步变成同步
  • 多进程之间数据是完全隔离的,各自使用各自的

猜你喜欢

转载自blog.csdn.net/Tifa_Lockhart/article/details/82564143