多工的優勢:
最大的好處是充分利用cpu的資源,提高程式執行效率
多工的概念:
多工是指在同一時間內執行多個任務
兩種表現形式:
程序建立步驟
匯入程序包import multiprocessing
通過程序類建立程序物件
程序物件 = multiprocess_process(target = 任務名)
啟動程序執行任務
程序任務.start()
程序物件 = multiprocess.process(target = 任務名)
#建立子程序
sing_process = multiprocessing.process(target = sing)
#建立子程序
sing_process = multiprocessing.process(target = dance)
#啟動程序
sing_process.start()
dance_process.start()
程序執行帶有引數的任務
引數名說明
args
以元組的方式給執行任務傳參
kwargs
以字典方式給執行任務傳參
案例:
import time
import mulitprocessing
def sing(num):
for i in range(num):
print("唱歌...")
time.sleep(0.5)
def dance(num):
for i in range(num):
print("跳舞...")
time.sleep(0.5)
if __name__ == "__main__":
sing_process = multiprocessing.process(target = sing,args = (3,))
dance_process = multiprocessing.process(target = dance,kwargs = )
sing_process.start()
dance_process.start()
程序編號的作用:
為了方便管理實際上每個程序都是有自己的編號
獲取當前程序編號:
os.getpid()
import os
pid = os.getpid()
print(pid)
獲取當前父程序編號:
os.getppid()
sing_process.daemon = true
子程序守護主程序
python多執行緒 python多執行緒
通常來說,多程序適用於計算密集型任務,多執行緒適用於io密集型任務,如網路爬蟲。關於多執行緒和多程序的區別,請參考這個 下面將使用python標準庫的multiprocessing包來嘗試多執行緒的操作,在python中呼叫多執行緒要使用multiprocessing.dummy,如果是多程序則去掉...
python多執行緒詳解 Python多執行緒詳解
前言 由於最近的工作中一直需要用到python去處理資料,而在面對大量的資料時,python多執行緒的優勢就展現出來了。因而藉此機會,盡可能詳盡地來闡述python多執行緒。但對於其更底層的實現機制,在此不做深究,僅是對於之前的一知半解做個補充,也希望初學者能夠通過這篇文章,即便是照葫蘆畫瓢,也能夠...
python程式多執行緒 PYTHON多執行緒
在單執行緒的情況下,程式是逐條指令順序執行的。同一時間只做乙個任務,完成了乙個任務再進行下乙個任務。比如有5個人吃飯,單執行緒一次只允許乙個人吃,乙個人吃完了另乙個人才能接著吃,假如每個人吃飯都需要1分鐘,5個人就需要5分鐘。多執行緒的情況下,程式就會同時進行多個任務,雖然在同一時刻也只能執行某個任...