大廠面試官問我進程和線程的區別,我是這麼回答的

前言

最近一直在面試找實習,然後發現每次面試都會問進程和線程的區別,真是醉了,這裏特地做個總結,希望各位同學在被問到這個問題時都能發揮自如,早日拿到 offer ,共勉!

回答

  1. 根本區別:進程是操作系統進行資源分配的基本單位,線程是獨立調度的基本單位
  2. 地址空間:進程包含獨立的地址空間,線程沒有自己獨立的地址空間,它共享所屬進程的空間
  3. 開銷:進程之間的切換會有較大的開銷,線程之間的切換的開銷比較小;創建一個線程比進程開銷小
  4. 資源:系統在運行的時候會爲每個進程分配資源,而不會爲線程分配資源,線程所使用的資源來自其所屬進程的資源
  5. 通信:線程之間通信比進程之間通信更方便
  6. 包含關係:線程是一個輕量級進程,是進程的一部分

擴展:對於進程與線程之間的選擇?

適合使用線程的場景:

  1. 頻繁創建銷燬的場景
  2. 計算量大,切換頻繁的場景
  3. 需要速度的場景

適合使用進程的場景:需要穩定安全的場景

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章