Python:進程

多任務

概念,操作系統同時運行多個任務

fork(創建進程)

導入os模塊

程序運行到os.fork時,系統會創建一個子進程,然后把父進程復制一份到子進程,子進程的值一定是0,父進程返回子進程的id

getpid(),getppid()

getpid(),當前進程id,getppid父進程id

多次fork問題

父進程,子進程執行順序沒有規律,完全取決于操作系統的系統調度算法

multiprocessing

跨版本多進程模塊

import Process (multiprocessing)

說明

創建子進程時,只需要傳入一個執行函數和函數的參數,創建一個Process實例,用start()方法啟動,這樣創建進程比fork()還要簡單。

·join()方法可以等待子進程結束后再繼續往下運行,通常用于進程間的同步。

·target:表示這個進程實例所調用對象;

·args:表示調用對象的位置參數元組;

·kwargs:表示調用對象的關鍵字參數字典;

·name:為當前進程實例的別名;

·group:大多數情況下用不到;

Process類常用方法:

·is_alive():判斷進程實例是否還在執行;

·join([timeout]):是否等待進程實例執行結束,或等待多少秒;

·start():啟動進程實例(創建子進程);

·run():如果沒有給定target參數,對這個對象調用start()方法時,就將執行對象中的run()方法;

·terminate():不管任務是否完成,立即終止;

Process類常用屬性:

·name:當前進程實例別名,默認為Process-N,N為從1開始遞增的整數;

·pid:當前進程實例的PID值;

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 一多任務的引入 有很多的場景中的事情是同時進行的,比如開車的時候手和腳共同來駕駛汽車,再比如唱歌跳舞也是同時進行的...
    五行缺覺閱讀 663評論 0 0
  • 要讓Python程序實現多進程(multiprocessing),我們先了解操作系統的相關知識。Unix/Linu...
    壁花燒年閱讀 760評論 0 0
  • 轉自:http://www.liaoxuefeng.com/wiki/0014316089557264a6b348...
    放風箏的小小馬閱讀 225評論 0 2
  • 1.進程 1.1多線程的引入 現實生活中 有很多的場景中的事情是同時進行的,比如開車的時候手和腳共同來駕駛汽車,再...
    TENG書閱讀 513評論 0 0
  • 多進程 forkUnix/Linux操作系統提供了一個fork()系統調用,它非常特殊。普通的函數調用,調用一次,...
    carolwhite閱讀 215評論 0 0