1线程概念:线程和进程之间的关系,线程间可共享资源,线程间非共享资源,线程的优缺点
1線程概念
1.1什么是線程
1.1.2線程和進程的關系
????????1.輕量級進程(light-weightprocess),也有PCB,創建線程使用底層函數和進程一樣,都是clone.
2.從內核里看進程和線程是一樣的,都有各自不同的PCB,但是PCB中指向內存資源的三級頁表示相同的
3.進程可以蛻變成線程
4.在美國人眼里,線程就是寄存器和棧
5.在Linux下,線程是最小的執行單位;進程是最小的分配資源的單位
?
查看LWP號(通過這個命令可以查看到線程號),命令是:
ps –eLf (其中,下面的LWP列表示的就是線程號)
ps –Lf pid(通過這種方式查看某個進程下的具體線程信息)
?
調度圖
調度單位為線程
1.1.3.線程間可共享的資源
1.文件描述符表
2每種信號的處理方式
3當前工作目錄
4用戶ID和組ID
5內存地址空間
以下同樣是共享的:
text??代碼區
data??數據區
bss???
堆
共享庫???(調用共享庫可以用mmap)
線程間共享資源
1.1.4線程間非共享資源
1.線程id
2.處理器現場和棧指針
3.獨立的棧空間
4.errno變量
5.信號屏蔽字
6.調度優先級
線程優缺點
優點
提高程序的并發性
開銷小,不用重新分配內存
通信和共享數據方便
?
缺點
線程不穩定(庫函數實現不穩定)
線程調試比較困難(gdb支持不好)
線程無法使用unix經典事件,例如信號
pthread manpage
man –k pthread
安裝pthread相關manpage
????????sudoapt-get install manpages-posix manpages-posix-dev
總結
以上是生活随笔為你收集整理的1线程概念:线程和进程之间的关系,线程间可共享资源,线程间非共享资源,线程的优缺点的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 笔记本ime禁用怎么办 笔记本输入法禁用
- 下一篇: 2线程原语:pthread_create