亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

linux中多進程和多線程的區別有哪些

發布時間:2022-01-13 09:54:03 來源:億速云 閱讀:347 作者:iii 欄目:建站服務器

這篇“linux中多進程和多線程的區別有哪些”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“linux中多進程和多線程的區別有哪些”文章吧。

區別:1、多進程中數據共享復雜、同步簡單,而多線程中數據共享簡單、同步復雜;2、多進程占用內存多、切換復雜、速度慢、CPU利用率低,而多線程占用內存少、切換簡單、CPU利用率高;3、多進程的編程簡單、調試簡單,而多線程的編程復雜、調試復雜。

本教程操作環境:linux5.9.8系統、Dell G3電腦。

linux中多進程和多線程的區別

進程:運行中(加載到內存上)的程序。-->執行過程稱之為進程。

線程:線程是輕量級的進程,是進程中的一條執行序列(一組有序指令),一個進程至少有一條線程。

main函數所代表的執行序列稱之為主線程。通過線程庫創建的線程稱之為函數線程。

對比維度多進程多線程總結
數據共享,同步

數據共享復雜,需要用IPC;

數據是分開的,同步簡單

因為共享進程數據,共享數據簡單,同時導致同步也復雜各有優勢
內存、CPU占用內存多,切換復雜,速度慢,CPU利用率低占用內存少,切換簡單CPU利用率高多線程優勢
創建銷毀、切換創建銷毀,切換復雜,速度慢創建銷毀,切換簡單,速度很快多線程優勢
編程調試編程簡單,調試簡單編程復雜,調試復雜多進程優勢
可靠性進程間不會互相影響一個線程掛掉將導致整個進程掛掉多進程優勢
分布式適用于多核、多機分布式;如果一臺機器不夠,拓展到多臺機器比較簡單適用于多核分布式多進程優勢

多線程的優點:

  • 無需跨進程邊界;

  • 程序邏輯和控制方式簡單;

  • 所有線程可以直接共享內存和變量;

  • 線程方式消耗的總資源比進程少

多進程的優點

  • 每個進程相互獨立,不影響主程序的穩定性,子進程崩潰沒關系;

  • 通過增加CPU就可以容易擴充性能;

  • 可以盡量減少線程加鎖/解鎖的影響,極大提高性能;

多線程的缺點

  • 每條線程與主程序共用地址空間,大小受限;

  • 線程之間的同步和加鎖比較麻煩;

  • 一個線程的崩潰可能影響到整個程序的穩定性;

  • 到達一定的線程數后,即使在增加CPU也無法提高性能;

多進程的缺點:

  • 邏輯控制復雜,需要和主程序交互;

  • 需要跨進程邊界,如果有大數據傳輸,不適合;

  • 多進程調度開銷比較大

應用情況如下:

1)需要頻繁創建銷毀的用線程

這種原則最常見的就是Web服務器了,來一個連接建立一個線程,斷了就銷毀線程。如果用進程,創建銷毀的代價是很難承受的。

2)需要進行大量計算的優先用線程

所謂大量計算就是消耗很多CPU,切換頻繁,這種情況下線程是最合適的。

這種原則最常用的就是圖像處理,算法處理。

3)強相關的處理用線程,弱相關的處理用進程

什么叫強相關、弱相關?理論上很難定義,舉一個例子加以解釋。

一般的Server需要完成如下任務:消息收發、消息處理。“消息收發”、“消息處理”就是弱相關的處理,而“消息處理”里面又分為“消息解碼”、“業務處理”,這兩個業務相對來說就強很多。因此“消息收發”、“消息處理”可以分進程設計,“消息解碼”、“業務處理”可以分線程設計。

4)可能擴展到多機分布的用進程,多核分布的用線程(具體原因請看上表)

消耗資源:

從內核的觀點看,進程的目的就是擔任分配系統資源(CPU時間、內存等)的基本單位。線程是進程的一條執行流,是CPU調度和分派的基本單位,它是比進程更小的能獨立運行的基本單位。

線程,他們之間使用相同的地址空間,共享大部分數據,啟動一個線程所花費的空間遠遠小于啟動一個進程所花費的空間,而且線程間彼此切換所需要的時間也遠遠小于進程間切換所用的時間。

通訊方式:

進程間傳遞數據只能通過通訊的方式,既費時又不方便。線程時間數據大部分共享,快捷方便,但是數據同步需要鎖。

線程自身優勢:

提高應用程序相應;使用CPU系統更加有效;操作系統會保證當線程數目不大于CPU數目時候,不同的線程運行在不同的CPU上;改善程序結構,一個即長又復雜的進程可以考慮分為多個線程,成為幾個獨立或者半獨立的部分,這樣的程序會易于理解和修改。

以上就是關于“linux中多進程和多線程的區別有哪些”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

浮梁县| 乌兰县| 贺州市| 平山县| 高雄市| 罗江县| 五寨县| 仁寿县| 行唐县| 青州市| 安宁市| 孟村| 安庆市| 德庆县| 安西县| 呼图壁县| 离岛区| 宝清县| 和田市| 漾濞| 原平市| 保定市| 玉环县| 诸暨市| 汶上县| 庆元县| 浙江省| SHOW| 凤翔县| 十堰市| 句容市| 英吉沙县| 沾益县| 崇礼县| 都兰县| 武城县| 黄山市| 扶绥县| 吉木萨尔县| 罗山县| 庆阳市|