嗨囉~今天跟大家分享電腦裡的 進程 與 線程
— 私訊《畫家帽の龍》FB 粉絲專頁“666” 就送給你《轉職軟體工程師攻略圖》,裏頭有軟體業不同面向的程式語言分類及軟工知識圖譜,若想要比別人有競爭力,就把這些都學會吧~
進程顧名思義是“進行中的應用程序”,
線程是進程下的工作線,可以說是“進程的子程序”。
打開 Windows 的工作管理員可以看到好多條列的應用程序。
有的應用程式有箭頭符號 > 可以點擊展開,這表示它底下有正在運行多個相關的進程或服務。
可以發現瀏覽器的把它展開來,會發現比其它應用程式多很多項目。

這是因為瀏覽器本身是多進程架構。進程間的空間資源是互相隔離的,此特性剛好可以有效防止跨站點的攻擊和數據洩露,所以每開一個分頁,我們就會為分頁分配一個進程,這是為了安全考量。
而線程是進程下的子任務,它不會在工作管理員看到,要在資源檢視器的執行緒欄位看喔~

- 一個進程下可以有多個線程
- 線程自己也有自己獨立的空間
- 線程間不可互相取用各自的資源
- 在同進程下的多個線程可以共用進程的資源
你可以想像,你去公廁上大號,其中洗手台裝潢在內部
有分男廁 (進程 1) 和女廁 (進程 2)
每個人 (線程) 都只用一間馬桶 → 線程間不可互相取用各自的資源
男廁的洗手台給男生用,女廁洗手台給女生用 → 進程互相隔離,但線程共用進程裡的資源
以上希望能幫助大家理解進程與線程的關係。
最後記得私訊《畫家帽の龍》FB 粉絲專頁“666” 就送給你《轉職軟體工程師攻略圖》,助你朝想要的方向前進。
祝你職場順利~Go~