20 - 進程

返回主頁

📄目錄

1 進程介紹

1.1 含義

含義:是操作系統進行資源分配和調度的基本單位,是操作系統結構的基礎

一個正在運行的程序或者軟件就是一個進程

程序跑起來就成了進程

❗注意:進程中可以建立多個線程,多進程也可以完成多任務

1.2 進程的狀態

  1. 就緒狀態:運行的條件都已經滿足,正在等待CPU執行

  2. 執行狀態:CPU正在執行其功能

  3. 等待(阻塞)狀態:等待某些條件滿足,如一個程序休s

python-logo

2 進程語法結構

👉🏻 multiprocessing模塊提供了Process類代表進程對象

2.1 Process類參數

  1. target:執行的目標任務名,即子進程要執行的任務

  2. args:以元組的形式傳參

  3. kwargs:以字典的形式傳參

2.2 常用的屬性

  1. name:當前進程的別名(默認Process-N)

  2. pid:當前進程的進程編號

python-logo

輸出結果:

2.3 常用的方法

  1. start():開始子進程

  2. is_alive():判斷子進程是否還活着,存活返回True,死亡返回False

  3. join():主進程等待子進程執行結束

python-logo

輸出結果:

2.4 進程間不共享全局變量

python-logo

輸出結果:

3 進程間的通信

  1. q.put():放入數據

  2. q.get():取出數據

  3. q.empty():判斷隊列是否為空

  4. q.qsize():返回當前隊列包含的消息數量(似乎在mac上無法用)

  5. q.full():判斷隊列是否滿了

python-logo

輸出結果:

python-logo

案例:

輸出結果:

4 進程池(Process Pool)

python-logo

案例:

輸出結果:

導航連結:

目的地超連結
首頁返回主頁
Python學習Python學習
上一篇19 - 線程
下一篇21 - 協程