1. 程式人生 > >Python 多進程編程之fork()

Python 多進程編程之fork()

avs nbsp linu 多進程編程 bras ade pbc png hpc

Python實現多進程可以用系統fork()方法和python的multiprocessing類

1,fork()方法是Unix/Linux操作系統提供的,在python的os模塊中自帶fork().

在windows中不能使用,這是它的特殊之處

  • 在使用fork()方法之前,我們先來了解一下fork的英文解釋:基本都是分叉,叉開,分支的意思,
  • 技術分享圖片
  • 所以,fork()方法在創建子進程時,會將主進程中的所有代碼復制一份到子進程
  • 雖然是復制了父進程的所有代碼,但是,子進程不會執行所有的代碼,它在父進程中在什麽位置創建的,在子進程中就在什麽位置開始執行。
  • import os
    
    pid = os.fork()
    print(‘!!!‘)
    
    pid = os.fork()
    print(‘~~~‘)
    
    pid = os.fork()
    print(‘***‘)
    
    

    以上代碼會創建3個子進程,每個子進程會創建自己的子進程,如下圖

  • 技術分享圖片

Python 多進程編程之fork()