1. 程式人生 > >併發程式設計5

併發程式設計5

一.今日大綱

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)