線程獨占的資源
1. 線程運行的本質就是函數的執行,函數運行時的信息保存在棧幀中,包括函數的返回值、使用的局部變量、寄存器信息等,因此每個進程都有自己獨立的、私有的棧區
2. 程序計數器、函數運行使用的寄存器組的值也是線程私有的
3. 每個線程用戶獨立的線程ID、獨立的調度優先級、錯誤返回碼
線程共享的資源
1. 多個線程共享進程的代碼區,代碼區存放的是編譯后的可執行機器指令,即任何一個函數都可以放到線程中去執行
2. 多個線程共享進程的數據區,即任何一個線程都可以訪問全局變量和靜態變量

3. 多個線程共享進程的堆區,盡管棧區是線程的私有數據,但棧區沒有添加任何保護機制,一個線程的棧區對其他線程也是可見的

4. 動態鏈接庫:若一個程序是動態鏈接的,那么其地址空間中有一部分包含的就是動態鏈接庫,該部分也是被多個線程共享的
5. 文件:如果程序運行時打開了一些文件,那么進程地址空間中保存了打開的文件信息,進程打開的文件也屬於線程共享的資源
6. 線程共享當前工作目錄、以及用戶ID和組ID
