作業系統 Operating System
Threads 又稱為 Lightweight process
,是使用 CPU 的最小單位,同 Process 的 Threads 有共享的記憶體空間。在 Parent Process 創造 Threads 時就會 allocate ,因此省去在空間管理及處理上的執行動作。
Kernel mapping threads 的方式通常有以下幾種:
for (int i = 0; i < n; i++) pthread_join(thread[i], NULL)
fork
system call: 產生新的 process 並完全複製 parent 的 data 及程式執行狀態clone
system call: 產生新的 process 並控制哪些 segment 要與 parent share 哪些不需要。因為 Linux 沒有 thread ,所以用 clone
system call 來達到 thread 的概念
fork()
可能有以下兩種情況fork()
的方式execlp()
會取代整個 Process,而不是單一 thread