python之併發程式設計

2022-04-11 14:50:30 字數 1705 閱讀 8616

'''

1.什麼是程序?

程序是指正在執行的乙個程式或任務,而負責執行任務的是cpu

2.程序和程式的區別

程式只是一段**。

程序是指程式執行的過程。

3.並行與併發

併發:『偽並行』,看起來是同時執行。單個cpu+多道技術就可以實現併發。

並行:同時允許,只有具備多個cpu才能實現並行。

單核下,可以利用多道技術。

多核下,每個核也都可以利用多道技術。(多道技術是針對單核來說的)

4.程序的三種狀態

執行---就緒---阻塞

'''

'''

1.同步:

在發出乙個功能呼叫時,在沒有得到結果之前,該呼叫就不會返回。按照這個定義,起始絕大數函式都是同步呼叫。

2.非同步:

非同步的概念和同步相對。當乙個非同步呼叫發起時,呼叫者不能立刻得到結果,當該非同步功能完成後,通過狀態、通知或**來通知呼叫者。

3.阻塞:

阻塞呼叫是指呼叫結果返回之前,當前執行緒會被掛起(如遇到io操作)。函式只有在得到結果之後才會將阻塞的執行緒啟用。

4.非阻塞:

與阻塞概念相對。指在不能立刻得到結果的情況下也會立刻返回,同時該函式不會阻塞當前執行緒

'''

'''

多程序multiprocessing 模組用來開啟子程序,並在子程序中執行我們定製的任務(比如函式)。

multiprocessing 模組的功能眾多:支援子程序、通訊和共享資料、執行不同形式的同步,提供了process、queue、pipe、lock等元件。

'''

'''

process類

- 是乙個建立程序的類,由該類例項化得到的物件,表示乙個子程序中的任務。

ps: - 需要使用關鍵字的方式來傳參

- args指定為傳給target函式的位置引數,是乙個元組形式,必須有逗號

方法介紹:

------

1.p.start():啟動程序、並呼叫該子程序中的p.run()

2.p.run():程序啟動時執行的方法,正是它去呼叫target指定的函式,我們自定義類的類中一定要實現該方法

3.p.terminate():強制終止程序p,不會進行任何清理操作,如果p建立了子程序,該子程序就成了殭屍程序,使用該方法需要特別小心這種情況。如果p還儲存了乙個鎖,那麼鎖也將不會被釋放,進而導致死鎖。

4.p.is_alive():如果p仍然允許,返回true

5.p.join([timeout])

------

屬性介紹:

------

1.p.daemon:預設值為false,如果為true,代表p為後台執行的守護程序,當p的父程序終止時,p也隨之終止,並且設定為true後,p不能建立自己的新程序,必須在p.start()之前設定

2.p.name:程序的名字

3.p.pid:程序的pid

4.p.exitcode:程序在執行時為none,如果為-n,表示被訊號n結束(了解)

5.p.authkey:程序的身份驗證鍵,預設是由os.urandom()隨機生成的32字元的字串。這個鍵的用途是為涉及網路連線的底層程序間通訊提供安全性,這類連線只有在具有相同的身份驗證鍵時次啊能成功(了解)

------

'''

python之併發程式設計儲備知識

1.3 作業系統的作用 2 多道技術 1.1 定義 作業系統就是乙個協調 管理和控制計算機硬體資源和軟體資源的控制程式 作業系統位於計算機硬體與應用軟體之間,本質也是乙個軟體。作業系統由作業系統的核心 執行於核心態,管理硬體資源 以及系統呼叫 執行於使用者態,為應用程式設計師寫的應用程式提供系統呼叫...

python 併發程式設計基礎之 程序

目錄多道技術 基於單核情況下研究 併發與並行 程序程序的三個狀態 同步和非同步 建立程序的兩種方式 乙個計算機機房,一次只能被乙個卡片使用。缺點 cpu利用率最低。支援多使用者去使用乙個計算機機房。高速磁碟 提高檔案的讀取速度。優點 提高cpu的利用率 多個程式使用cpu時是序列。必須讓乙個程式結束...

python之併發程式設計 理論部分

管理控制協調計算機中硬體與軟體的關係.作業系統的作用?第乙個作用 隱藏了醜陋的硬體呼叫介面,為應用程式設計師提供呼叫硬體資源的更好,更簡單,更清晰的模型 系統呼叫介面 第二個作用 將應用程式對硬體資源的靜態請求變得有序化 阻塞 input read write sleep recv accept s...