python 12 程序,執行緒,協程

2021-09-01 05:34:11 字數 393 閱讀 2320

多程序:密集cpu任務,需要充分使⽤多核cpu資源(伺服器,⼤量的並⾏計算)的時候,⽤多進 程。

缺陷:多個程序之間通訊成本⾼,切換開銷⼤。

多執行緒:密集i/o任務(⽹絡i/o,磁碟i/o,資料庫i/o)使⽤多執行緒合適。

缺陷:同⼀個時間切⽚只能運⾏⼀個執行緒,不能做到⾼並⾏,但是可以做到⾼併發。

協程:當程式中存在⼤量不需要cpu的操作時(io),適⽤於協程;

多執行緒請求返回是⽆序的,那個執行緒有資料返回就處理那個執行緒,⽽協程返回的資料是有序的。

缺陷:單執行緒執⾏,處理密集cpu和本地磁碟io的時候,效能較低。處理⽹絡i/o效能還是⽐較⾼.

Python 程序 執行緒 協程

程序和執行緒之間的關係 執行緒是屬於程序的,執行緒執行在程序空間內,同一程序所產生的執行緒共享同一記憶體空間,當程序退出時該程序所產生的執行緒都會被強制退出並清除。執行緒可與屬於同一程序的其它執行緒共享程序所擁有的全部資源,但是其本身基本上不擁有系統資源,只擁有一點在執行中必不可少的資訊 如程式計數...

Python 程序,執行緒, 協程

程序是系統進行資源分配和排程的乙個獨立單位 最小單位 程序的幾個狀態 空 新建 建立執行乙個程式的新程序,可能的事件有 新的批處理作業 互動登入 終端使用者登入到系統 作業系統因為提供一項服務而建立 由現有的程序派生等。新建 就緒 作業系統準備好再接納乙個程序時,把乙個程序從新建態轉換為就緒態。就緒...

程序 執行緒 協程

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