程序 執行緒 協程理解

2022-06-09 18:15:07 字數 743 閱讀 1219

批處理:指乙個處理完了另乙個再處理;

程序:即每個程式的執行的**(全部流程),加上執行現場(當前執行場景);

併發:因為多個程式在乙個cpu上不斷切換,人類看起來如同程式在同時執行,這就是併發;

並行:即多個程式同時在多個cpu上執行,就是並行;

執行緒:程序內部,有多個執行流程(加上每個流程的執行場景),這個流程就是執行緒;

協程:即執行緒內部,轉換執行控制權;

程序是:乙個cpu情況下,多個程式分別使用機器資源(cpu或硬碟等)的概念;

執行緒是:乙個程序情況下,多個執行流程(即執行緒)分別使用分配給該程序的機器資源的概念;

協程是:乙個執行緒情況下,多個執行流程(即協程)由執行緒控制,分別使用分配給該執行緒的機器資源的概念;

程序是資源分配和擁有的單位,同乙個程序內的執行緒共享程序的資源;

執行緒是處理器排程的基本單位;

協程可以理解為執行緒內部排程的基本單位。

協程的優勢在於:處理器排程(即執行緒)會有很大的場景切換消耗,而對處理器來說,協程屬於同乙個排程,切換消耗較小。

本質就是各種抽象,用於提公升小路,不用糾結太深,只要可以更好的解決問題提公升效率即可。

程序和執行緒、協程的區別 - lxmhhy -  

協程的好處有哪些? - 知乎 

注:這個回答說了,每種**的理解都不同,理解側重點也不同。不用糾結,協程只是一種解決問題的手段,也可以用其他方式實現(可能效率低),本質沒有太多不同。

學會結合具體場景,可以使用然後解決問題即可。

簡單理解 程序 執行緒 協程

從計算機硬體角度 計算機的核心是cpu,所有計算任務都由cpu負責。單個cpu核心,在乙個cpu時間片裡,只能執行乙個程式任務。台式電腦 intel i5 處理器 四核四執行緒 四個cpu核心,每個核心有乙個邏輯處理器 同時可以處理四個任務。台式電腦 intel i7 處理器 四核八執行緒 inte...

程序 執行緒 協程

多程序多執行緒的最終目地都是為了加快任務處理的時間,但是受限於cpu核數 只有多核才能實現並行,任務耗時 單核任務耗時 cpu核數 那麼在單核上執行多程序多執行緒是不是沒有用了,加快不了處理的速度了?答案肯定是不是的,不然這個東西設計出來太雞肋了,那它們加快處理的原理是什麼呢?乙個程序耗時 b程序耗...

程序 執行緒 協程

程序是系統資源分配的最小單位,系統由乙個個程序 程式 組成。一般情況下,包括文字區域 text region 資料區域 data region 和堆疊 stack region 檔案描述符表 程序每次開啟乙個檔案,系統就會在該程序的使用者檔案描述符表中分配乙個相應的表項,表項的索引返回給該程序,用於...