Python線程專題縱覽篇

上一篇文章: Python進程專題完結篇:多進程處理的通常建議
下一篇文章: Python線程專題1:多線程使用的必要性

進程VS線程

進程:可以完成多任務,好比在一個電腦上能夠運行多個軟件。

線程:也可以完成多任務,但通常是在同一個程序內完成多任務,例如qq打開多個頁面。segmentfault

對吧方向 進程 線程
是否能夠完成多任務 能夠,好比一個電腦上運行多個相同軟件 能夠,好比在一個軟件內打開多個頁面
定義 系統進行資源分配和調度的一個獨立單位。 是進程的一個實體,是CPU調度和分派的基本單位,它是比進程更小的能夠獨立運行的基本單位。除了一些運行比不可少的資源外(如程序計數器、一組寄存器和棧),線程基本不用有其它系統資源,它只和同進程的其它線程共享進程的公共資源。因爲佔用資源少,也使得多線程程序併發比較高。
最值 一個程序至少有一個進程 一個進程至少有一個線程
運行效率 進程在執行過程當中擁有獨立的內存單元,相對線程會慢 多個線程共享內存,極大提升了程序運行效率。
運行環境 內部必須包含一個線程 必須在進程中運行
優缺點 利於資源的管理和保護,但執行開銷大 執行開銷小,單不利於資源的管理和保護

跳轉連接

Python線程專題1:多線程使用的必要性
Python線程專題2:多線程共享全局變量
Python線程專題3:thread對象
Python線程專題4:Timer對象、Lock對象、Rlock對象
Python線程專題5:信號量與有邊界的信號量
Python線程專題6:事件
Python線程專題7:條件變量
Python線程專題8:使用鎖的注意事項
Python線程專題9:線程終止與掛起
Python線程專題10:實用工具函數
Python線程專題11:queue
Python線程專題12:多線程按順序執行多線程

相關文章
相關標籤/搜索