多進程

進程以及狀態(tài)

  1. 什么是進程 程序:例如xxx.py這是程序,是一個靜態(tài)的
    進程:一個程序運行起來后,代碼+用到的資源 稱之為進程,它是操作系統(tǒng)分配資源的基本單元。
    不僅可以通過線程完成多任務(wù),進程也是可以的

  2. 進程的狀態(tài)
    工作中,任務(wù)數(shù)往往大于cpu的核數(shù),即一定有一些任務(wù)正在執(zhí)行,而另外一些任務(wù)在等待cpu進行執(zhí)行,因此導(dǎo)致了有了不同的狀態(tài)

    就緒態(tài):運行的條件都已經(jīng)慢去,正在等在cpu執(zhí)行
    執(zhí)行態(tài):cpu正在執(zhí)行其功能
    等待態(tài):等待某些條件滿足,例如一個程序sleep了,此時就處于等待態(tài)

  3. Process參數(shù)如下:

Process(group, target, name, args , kwargs)

target:如果傳遞了函數(shù)的引用,可以任務(wù)這個子進程就執(zhí)行這里的代碼
args:給target指定的函數(shù)傳遞的參數(shù),以元組的方式傳遞
kwargs:給target指定的函數(shù)傳遞命名參數(shù)
name:給進程設(shè)定一個名字,可以不設(shè)定
group:指定進程組,大多數(shù)情況下用不到

Process創(chuàng)建的實例對象的常用方法:

start():啟動子進程實例(創(chuàng)建子進程)
is_alive():判斷進程子進程是否還在活著
join([timeout]):是否等待子進程執(zhí)行結(jié)束,或等待多少秒
terminate():不管任務(wù)是否完成,立即終止子進程

Process創(chuàng)建的實例對象的常用屬性:

name:當(dāng)前進程的別名,默認(rèn)為Process-N,N為從1開始遞增的整數(shù)
pid:當(dāng)前進程的pid(進程號)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容