1. 程式人生 > >python---基礎知識回顧(十)進程和線程

python---基礎知識回顧(十)進程和線程

進程搶占 有一個 信息 lin linux 下一個 最小 網絡 方式

前戲:進程和線程的概念

若是學過linux下的進程,線程,信號...會有更加深刻的了解。所以推薦去學習下,包括網絡編程都可以去了解,尤其是對select,pool,epool都會有更多的認識。

進程就是資源管理的最小單位,而線程是程序執行的最小單位。一個程序可以有多個進程,一個進程可以有多個同時執行的線程

1.進程:

操作系統隔離各個進程可以訪問的地址空間。如果進程間需要傳遞信息。那麽可以使用進程間通信或者其他方式,像信號,像文件,數據庫,剪切板....等。在進程的調度中,進程進行切換所需要的事件是比較多的。為了更好的支持信息共享和減少切換開銷。從而從進程中演變出來了線程。

2.線程:

線程是進程的執行單元。對於大多數程序來說可能只有一個主線程,就是該程序進程。在系統中看起來所有的線程都是同時執行的,實際上是去共同搶占資源,當一個線程使用完後,下一個馬上使用,減少了時間的空隙。和進程搶占時間片大致相同。但是依舊提高了很多的效率。

實例:下載文件時,可以將文件分成多個部分,然後使用多個線程同時去下載,從而加快下載速度。

3.進程線程的對比:

python---基礎知識回顧(十)進程和線程