亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

linux中線程是什么意思

發布時間:2021-11-26 11:34:39 來源:億速云 閱讀:181 作者:小新 欄目:建站服務器

這篇文章主要為大家展示了“linux中線程是什么意思”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“linux中線程是什么意思”這篇文章吧。

在linux中,線程(thread)指的是程序內部的一個執行路線,即一個進程內部的控制序列,一切進程至少都有一個執行線程。線程是程序執行的最小單位,線程共享進程數據,但也有自己的一部分數據。

本教程操作環境:linux5.9.8系統、Dell G3電腦。

Linux 線程的概念

什么是線程?

  • 在一個程序里的一個執行路線就叫做線程(thread)。更準確的定義是:線程是“一個進程內部的控制序列”。

  • 一切進程至少都有一個執行線程。

進程與線程

  • 進程是資源分配與競爭的基本單位

  • 線程是程序執行的最小單位

  • 線程共享進程數據,但也有自己的一部分數據

  • 線程ID

  • 一組寄存器:IP,PSW,堆棧指針

  • errno

  • 信號狀態

  • 優先級

linux中線程是什么意思

fork和創建新線程的區別

  • 當一個進程執行一個fork調用的時候,會創建出進程的一個新拷貝,新進程將擁有它自己的變量和它自己的PID。這個新進程的運行時間是獨立的,它在執行時幾乎完全獨立于創建它的進程。

  • 在進程里面創建一個新線程的時候,新的執行進程會擁有自己的堆棧(因此也就有自己的局部變量),但要與他的創建者共享全局變量、文件描述符、信號處理器和當前工作目錄狀態。

線程的優點

  • 創建一個新線程的代價要比創建一個新進程小得多

  • 與進程之間的切換相比,線程之間的切換需要操作系統做的工作少得多

  • 線程占用的資源要比進程少得多

  • 能充分利用多處理器的可并行數量

  • 在等待慢速I/O操作結束的同時,程序可執行其他的計算任務

  • 計算密集型應用,為了能在多處理器系統上運行,將計算分解到多個線程中實現

  • I/O密集型應用,為了提高系統,將I/O操作重疊。線程可以同時等待不同的I/O操作

線程的缺點

  • 性能損失

  • 一個很少被外部事件阻塞的計算密集型線程往往無法與其他線程共享同一個處理器。如果計算密集型線程的數量比可用的處理器多,那么可能會有較大的性能損失,這里的性能損失指的是增加了額外的同步和調度開銷,而可用的資源不變。

  • 健壯性降低

  • 編寫多線程需要更全面更深入的考慮,在一個多線程程序里,因時間分配上的細微偏差或者因共享了不該共享的變量而造成不良的可能性是很大的,換句話說線程之間是缺乏保護的。

  • 缺乏訪問控制

  • 進程是訪問控制的基本粒度,在一個線程中調用某些OS函數會對整個進程造成影響。

  • 編程難度提高

  • 編寫與調試一個多線程比單線程程序困難得多

線程調度競爭范圍

  • 操作系統提供了各個模型,用來調度應用程序創建的線程。這些模型時間的主要不同是:在競爭系統資源(特別是CPU時間)時,線程調度競爭范圍(thread-scheduling contention scope)不一樣

  • 進程競爭范圍(Process contention scope):各個線程在同一個進程競爭“被調度的CPU時間”(但不直接和其他進程中的線程競爭)。

  • 系統競爭范圍(System contention scope):線程直接和”系統范圍“內的其他線程競爭。

以上是“linux中線程是什么意思”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

凤凰县| 蚌埠市| 凉山| 宁德市| 武冈市| 松滋市| 罗甸县| 肥城市| 高平市| 沐川县| 新兴县| 深水埗区| 东明县| 梁平县| 沧源| 时尚| 吉林市| 利津县| 乐安县| 城口县| 韶关市| 德格县| 平昌县| 三原县| 独山县| 松滋市| 哈尔滨市| 霍林郭勒市| 南平市| 蛟河市| 彰化市| 灌阳县| 黄浦区| 合阳县| 菏泽市| 闻喜县| 江安县| 新巴尔虎右旗| 历史| 衡山县| 桂平市|