什么是線程
LWP:light weight process 輕量級的進程,本質仍是進程(在Linux環境下)
進程:獨立地址空間,擁有PCB
線程:也有PCB,但沒有獨立的地址空間(共享)
區別:在于是否有共享地址空間,獨居(進程);合租(線程)
Linux下:線程:最小的執行單位
? ? ? ? ? ? ? ? 進程:最小分配資源單位,可看成是只有一個線程的進程。
?
線程共享資源:
- 文件描述表
- 每種信號的處理方式
- 當前工作目錄
- 用戶ID和組ID
- 內存地址空間(.text 、.data、.bss、heap、共享庫)
線程非共享資源:
- 線程id
- 處理器現場和棧指針(內核棧)
- 獨立的棧空間(用戶空間棧)
- errno變量
- 信號屏蔽字
- 調度優先級