“约见”面试官系列之常见面试题第三十篇之计算机操作系统进程和线程区别
下面是嚴謹的解釋:
進程
進程是程序的一次執行過程,是一個動態概念,是程序在執行過程中分配和管理資源的基本單位,每一個進程都有一個自己的地址空間,至少有 5 種基本狀態,它們是:初始態,執行態,等待狀態,就緒狀態,終止狀態。
線程
線程是CPU調度和分派的基本單位,它可與同屬一個進程的其他的線程共享進程所擁有的全部資源。
進程和線程的關系
線程是進程的一部分
一個線程只能屬于一個進程,而一個進程可以有多個線程,但至少有一個線程
?
進程和線程的區別
理解它們的差別,我從資源使用的角度出發。(所謂的資源就是計算機里的中央處理器,內存,文件,網絡等等)
根本區別:進程是操作系統資源分配的基本單位,而線程是任務調度和執行的基本單位
開銷方面:每個進程都有獨立的代碼和數據空間(程序上下文),進程之間切換開銷大;線程可以看做輕量級的進程,同一類線程共享代碼和數據空間,每個線程都有自己獨立的運行棧和程序計數器(PC),線程之間切換的開銷小
所處環境:在操作系統中能同時運行多個進程(程序);而在同一個進程(程序)中有多個線程同時執行(通過CPU調度,在每個時間片中只有一個線程執行)
內存分配:系統為每個進程分配不同的內存空間;而對線程而言,除了CPU外,系統不會為線程分配內存(線程所使用的資源來自其所屬進程的資源),線程組之間只能共享資源
包含關系:線程是進程的一部分,所以線程也被稱為輕權進程或者輕量級進程
本面試題為前端常考面試題,后續有機會繼續完善。我是歌謠,一個沉迷于故事的講述者。
歡迎一起私信交流。
“睡服“面試官系列之各系列目錄匯總(建議學習收藏)?
總結
以上是生活随笔為你收集整理的“约见”面试官系列之常见面试题第三十篇之计算机操作系统进程和线程区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 吉米多维奇例题——(7)
- 下一篇: css 日语字体,css字体