Python併發程式設計之多程序(理論)

2022-09-16 09:36:10 字數 658 閱讀 7989

程序:正在記憶體中執行的一道程式。

程式指的是一堆**,而程序指的是程式執行的過程。

通乙個程式執行兩次,就是兩道程序。

併發:偽並行,看起來是同時執行,其實是cpu不斷切換的結果。用單個cpu加多道技術就能實現。

並行:同時執行,cpu的乙個核執行一道程式,多核cpu或多個cpu才能實現。

同步:在發出乙個功能呼叫時,在沒有得到結果之前,該呼叫就不會返回。換句話說就是由呼叫者主動等待這個呼叫的結果。

非同步:和同步相反,呼叫在發出之後,這個呼叫就直接返回,不會立刻得到結果,而是等非同步功能完成後,被呼叫者通過狀態、通知或**函式來通知呼叫者。狀態效率低,通知效率高,**函式和通知沒有太多區別。

阻塞:呼叫結果返回之前,當前執行緒會被掛起(io操作)。呼叫執行緒只有在得到結果之後才會返回。和同步不同的是,很多時候同步的當前執行緒還是啟用的,只是從邏輯上當前函式沒有返回而已。

非阻塞:即使沒有得到結果,該呼叫也不會阻塞當前執行緒。

小結:同步/非同步針對的是函式/任務的呼叫方式:同步就是當乙個程序發起乙個函式呼叫時,一直等到函式完成,但程序還處於啟用狀態。而非同步是當乙個程序發起乙個函式呼叫的時候,不會等函式返回,而是去執行下乙個任務,函式返回的時候通過狀態、通知、**函式來通知程序完成任務。阻塞和非阻塞是針對程序或執行緒的,阻塞是當請求不能滿足的時候就將程序掛起,非阻塞則不會。

python併發程式設計之多程序

今天學習了python併發程式設計之多程序 一 multiprocessing模組介紹 python中的多執行緒無法利用多核優勢,如果想要充分地使用多核cpu的資源 os.cpu count 檢視 在python中大部分情況需要使用多程序。python提供了multiprocessing。multi...

併發程式設計之多程序

程序理論 一 什麼是程序?程序 正在進行的乙個過程或者說乙個任務。而負責執行任務則是cpu。二 程序與程式的區別 程式僅僅只是一堆 而已,而程序指的是程式的執行過程。同乙個程式執行兩次,那也是兩個程序 三 併發與並行 並行處理 parallel processing 是計算機系統中能同時執行兩個或者...

python併發程式設計之多程序一

一,什麼是程序 程序是作業系統結構的基礎 是乙個正在執行的程式 計算機中正在執行的程式例項 可以分配給處理器並由處理器執行的乙個實體 二,程序與程式的區別 程序即執行中的程式,從中即可知,程序是在執行的,程式是非執行的,當然本質區別就是動態和靜態的區別。三,併發與並行解釋一 並行是指兩個或者多個事件...