线程概念
什么是線程
LWP:light weight process 輕量級(jí)的進(jìn)程,本質(zhì)仍是進(jìn)程(在Linux環(huán)境下)
進(jìn)程:獨(dú)立地址空間,擁有PCB
線程:也有PCB,但沒有獨(dú)立的地址空間(共享)
區(qū)別:在于是否有共享地址空間,獨(dú)居(進(jìn)程);合租(線程)
Linux下:線程:最小的執(zhí)行單位
? ? ? ? ? ? ? ? 進(jìn)程:最小分配資源單位,可看成是只有一個(gè)線程的進(jìn)程。
?
線程共享資源:
- 文件描述表
- 每種信號(hào)的處理方式
- 當(dāng)前工作目錄
- 用戶ID和組ID
- 內(nèi)存地址空間(.text 、.data、.bss、heap、共享庫)
線程非共享資源:
- 線程id
- 處理器現(xiàn)場(chǎng)和棧指針(內(nèi)核棧)
- 獨(dú)立的棧空間(用戶空間棧)
- errno變量
- 信號(hào)屏蔽字
- 調(diào)度優(yōu)先級(jí)
總結(jié)