多執行緒 多程序 協程

2022-06-25 12:24:08 字數 380 閱讀 4943

程序:-個執行的程式(**)就是乙個程序,沒有執行的**叫程式,程序是系統資源分配的最

小單位,程序擁有自己獨立的記憶體空間,所以程序間資料不共享,開銷大。

執行緒:排程執行的最小單位 ,也叫執行路徑,不能獨立存在,依賴程序存在乙個程序至少有一 個

執行緒,叫主線程,而多個執行緒共享記憶體(資料共享, 共享全域性變數) ,從而極大地提高了程式的執行效率。

協程:是一種使用者態的輕量級執行緒,協程的排程完全由使用者控制。協程擁有自己的暫存器上下文和

棧。協程排程切換時,將暫存器上下文和棧儲存到其他地方,在切回來的時候,恢復先前儲存的寄存

器上下文和棧,直接操作棧則基本沒有核心切換的開銷,可以不加鎖的訪問全域性變數,所以上下文的切

換非常快。

多執行緒 多程序 協程

占用的資源 程序 執行緒 協程 程序的顆粒度太大,每次都要有上下的調入,儲存,調出。執行緒 乙個軟體的執行不可能是一條邏輯執行的,必定有多個分支和多個程式段,就好比要實現程式a,實際分成 a,b,c等多個塊組合而成 這裡的a,b,c就是執行緒,也就是說執行緒是共享了程序的上下文環境,的更為細小的cp...

執行緒 程序 協程(多程序,多執行緒)

程序是程式的一次執行過程,是乙個動態概念,是程式在執行過程中分配和管理資源的基本單位,每乙個程序都有乙個自己的位址空間,至少有 5 種基本狀態,它們是 初始態,執行態,等待狀態,就緒狀態,終止狀態。執行緒是cpu排程和分派的基本單位,它可與同屬乙個程序的其他的執行緒共享程序所擁有的全部資源。協程,是...

爬蟲知識點(多程序,多執行緒 多協程)

笑虎10 個月前 python中比較常見的併發方式主要有兩種 多執行緒和多程序。當然還有協程,這裡不做介紹。1 多執行緒 多執行緒即在乙個程序中啟動多個執行緒執行任務。一般來說使用多執行緒可以達到並行的目的,但由於python中使用了全域性解釋鎖gil的概念,導致python中的多執行緒並不是並行執...