天天看點

IO密集型 計算密集型

參考:廖雪峰 協程 ​

​gevent​

IO密集型任務指的是磁盤IO或者網絡IO占主要的任務,計算量很小,比如請求網頁,讀寫檔案等。===========讀寫檔案,socker receive/send

計算密集型任務指的是CPU計算占主要的任務,比如圖形渲染中矩陣的運算(當然現在都用GPU來完成)

IO密集型 計算密集型

 因為協程是使用者自己來編寫排程邏輯的,對CPU來說,協程其實是單線程,是以CPU不用去考慮怎麼排程、切換上下文,這就省去了CPU的切換開銷,是以協程在一定程度上又好于多線程。

gevent是基于IO切換的協程,使用gevent,可以獲得極高的并發性能,但gevent隻能在Unix/Linux下運作,在Windows下不保證正常安裝和運作。