2014/03/16

[Linux] Program, Process and Thread之差異

  • Program: code程式
  • Process: 正在CPU執行的Program
  • Thread: 使用CPU的最小單元,較為輕巧的process,一個process可以產生多的threadCPU是配給thread使用。


Thread存在有以下的目的:
(1) Responsiveness: 允許程式可以在被I/O中斷時,能夠繼續執行,譬如Web瀏覽器,可以同時看影片及下載檔案
(2) Resource Sharing: thread分享同樣的memoryresource,而process只能透過shared memorymessage passing的方法來分享資料
(3) Economy: threadprocess輕巧,創建和context switch thread比創建一個process來的快速
(4) Scalability: 可以平行執行於多核心的平台。


總結來說,寫好的code稱作為Program,放到CPU中執行就變成Process,但Process可以使用多的Thread代表的CPU執行單元,來增加執行效率。

沒有留言:

張貼留言