进程创建的三步:

  • 导入包 import multiprocessing
  • 创建进程
  • 启动进程 start

如何创建一个子进程

  • Process(group=None, target=None, name=None, args=(), kwargs={}, *, daemon=None)

    • group 应该始终是 None ;它仅用于兼容性考虑
    • target 传入一个可调用对象。它默认为 None,这里传入的是子进程的运行函数。
    • name 是进程名称,仅仅具有标识作用,并不会改变操作系统中的进程名称。
    • args 是目标调用的参数元组,也就是target调用函数的参数
    • kwargs 是目标调用的关键字参数字典,也是target调用函数的参数
    • daemon 将进程 daemon 标志设置为 True 或 False 。如果是 None (默认值),则该标志将从创建的进程继承
  • 更多资料

例子

  1. from multiprocessing import Process
  2. import os
  3. def child_main(name):
  4. print('I am', name, 'process id:', os.getpid())
  5. print('parent process:', os.getppid())
  6. if __name__ == '__main__':
  7. print('main process id:', os.getpid())
  8. p = Process(target=child_main, args=('bob',))
  9. p.start()
  10. p.join()