執行緒程序以及協程的區別

2022-09-14 21:00:22 字數 374 閱讀 8014

程序,儲存在硬碟上的程式執行之後,會在記憶體裡形成乙個獨立的記憶體體,這個記憶體體有自己獨立的位址空間,有自己的堆,上級掛靠單位是作業系統,作業系統會以程序為單位分配系統資源(cpu時間片,記憶體等資源),程序是資源分配的最小單位。

執行緒也成為輕量級執行緒,是作業系統排程(cpu排程)執行的最小單位

協程是比執行緒更加輕量級的存在,協程是不被作業系統核心所管理的完全是程式所控制,也就是在使用者態上執行,這樣帶來的好處就是效能得到了很大的提公升。不像執行緒切換耗費資源。從技術的角度來講,協程就是你可以展廳執行的函式,協程有用自己的暫存器上下文和棧,協程排程切換時候,將暫存器上下文和棧儲存到其他地方,在切換回來時候恢復之前儲存的暫存器和棧,直接操作棧則沒有核心切換的開銷,可以不加鎖訪問全域性變數。所以上下文的切換非常快。

程序 執行緒 協程區別以及通俗理解

請仔細理解如下的通俗描述 有乙個老闆想要開個工廠進行生產某件商品 例如剪子 他需要花一些財力物力製作一條生產線,這個生產線上有很多的器件以及材料這些所有的 為了能夠生產剪子而準備的資源稱之為 程序 只有生產線是不能夠進行生產的,所以老闆的找個工人來進行生產,這個工人能夠利用這些材料最終一步步的將剪子...

程序執行緒協程的區別

程序池 乙個程序占用乙個cpu,占用一定的記憶體空間。一般cpu配置都是4核,如果開的程序太多,其他的程式就得等著。什麼情況家使用多程序?cpu是用來計算的。所以在cpu密集運算的情況下,才使用多程序。具體要開幾個程序,根據機器的實際配置和實際生產情況而定。執行緒池 程序裡面才有執行緒,乙個程序裡面...

python 程序 執行緒 協程的區別

一 程序 process 多程序模式最大的優點就是穩定性高,因為乙個子程序崩潰了,不會影響主程序和其他子程序。當然主程序掛了所有程序就全掛了,但是主程序只負責分配任務,掛掉的概率低 apache最早就是採用多程序模式。多程序模式的缺點是建立程序的代價大,在unix linux系統下,用fork呼叫還...