併發程式設計5
阿新 • • 發佈:2019-01-08
一.今日大綱
1.multiprocessing模組簡單應用
2.for迴圈建立程序
3.程序傳參方式和建立方式2
4.join方法
5.作業系統基礎
二.今日內容
(1)作業系統簡單介紹
多道技術:(超級重點)
空間複用
時間複用
程序之間是空間隔離的
分時系統
實時系統
通用作業系統(遇到io切換的會提高程式碼效率),
併發:又稱偽併發,看著像同時執行,其實是任務之間的切換(遇到IO切換的會提高程式碼效率)
任務切換+儲存狀態(儲存現場)
並行:真正的同時在執行,應用的是多核技術(多個cpu)
程序三狀態:就緒(等待作業系統排程去cpu裡面執行) 執行 阻塞
提交任務的方式:同步非同步
任務的執行狀態:阻塞非阻塞
非同步:任務的提交方式,多個任務提交出去,同時執行
同步堵塞:
非同步堵塞:
同步非堵塞:
非同步非堵塞:
(這裡是開啟程序)
(2)程序的兩種建立方式
Process(target=f1,args=(i,)) kwargs={'形參名為key':值}
(3)
#例子
from multiprocessing import Process
class MyProcess(Process): #繼承
def __init(self,n):
super().__init__()
self.n=n
def run(self):
pass
if __name__='__main__':
P=MyProcess(12)
P.start()
join方法:主程序等待子程序執行結束再繼續執行
沒有join的話,先執行主程序中的內容
for 迴圈開啟程序
三.詳細內容
(1)