1. 程式人生 > 其它 >Python單任務和多工選擇

Python單任務和多工選擇

開始Python的複習!(以前學的忘了好多-_-)
主要參考的是Github上的一個專案:https://github.com/jackfrued/Python-100-Days
文章主要是對該專案中的內容進行學習 穿插一點自己的學習想法等內容~

單任務還是多工?

單任務(完成一個再去做另一個)
多工(任務之間的切換,只要切換速度足夠快,就和單核CPU執行多工一樣,以旁觀者的角度看,就是在同時做很多工)
切換任務是有代價的。儲存現場 準備新環境 如果要切換的任務太多很可能出現光顧著切換沒有實際完成任務的現象。
常見表現為:硬碟狂響、點選視窗無反應、系統處於假死狀態。
(任何東西都要有個度,多工一旦到一個限度,系統性能反而會下降)

在實際選擇是多工還是單任務時,還需要考慮任務的型別:計算密集型(要進行大量的計算,消耗CPU資源,比如對視訊進行編碼解碼或者格式轉換等,這類任務全靠CPU。)如果使用多工來完成,頻繁切換,執行任務效率較低。這類任務用python這樣的指令碼語言去執行效率通常非常低,最能夠勝任這類任務的是C語言;I/O密集型(CPU消耗少,任務的大部分時間都在等待I/O操作完成)對這類任務啟動櫃多工可以減少I/O等待時間,讓CPU高效執行。