[CareerCup] 16.1 Thread and Process 執行緒和程式

Grandyang發表於2016-04-13

 

16.1 What's the difference between a thread and a process?

 

程式Process是程式執行時的一個例項。一個程式是被分配系統資源的獨立單元,每個程式在獨立的地址空間上執行,如果需要使用其他程式的資源,需要使用程式間通訊,包括管道Pipes,檔案Files,套接字Sockets,或者其他形式。

執行緒Thread存在於程式之中並分享程式的資源(包括堆空間)。同一個程式中的多個執行緒分享同一個堆地址。這是和程式區別很大的地方,程式之間不能直接訪問記憶體。每個執行緒仍然有自己的棧,但是其他執行緒可以讀寫堆記憶體。

一個執行緒是一個程式的特殊執行路徑,當一個執行緒修改了程式的資源,其他執行緒能立馬察覺到改變。

 

CareerCup All in One 題目彙總

相關文章