韩国三级做爰中文字幕_日本韩国三级国产欧美_看黄漫的网站_日韩国产欧美一区二区三区

服務(wù)熱線:400-0033-166
萬商云集 - 企業(yè)數(shù)字化選用平臺

企業(yè)首選的

數(shù)字選用平臺

什么是多線程 多線程詳細(xì)介紹

2022-10-10 10:22:25 閱讀(198 評論(0)

 相信很多沒有接觸計算機的人員都不知道多線程這一塊的相關(guān)內(nèi)容,很多人對這一個概念都不知道,下面小編就 給大家來詳細(xì)介紹一下什么是多線程   多線程詳細(xì)介紹這一塊的相關(guān)內(nèi)容,希望能幫助到大家。


什么是多線程


  線程概念

  線程:線程是進程中的一條執(zhí)行流

  以前我們學(xué)習(xí)進程的時候,我們說進程就是一個pcb,是程序動態(tài)運行的描述,通過pcb可以實現(xiàn)操作系統(tǒng)對程序運行的調(diào)度管理。

  在最早時候,進程是一個pcb,操作系統(tǒng)通過pcb實現(xiàn)程序的運行調(diào)度管理;然而學(xué)習(xí)多線程,因為線程是進程中的一條執(zhí)行流,linux下通過pcb實現(xiàn)的,因此linux下的pcb實際上是一個進程,并且這些pcb共用同一個虛擬地址空間,這些pcb更加輕量化,因此linux下的線程也被稱為輕量級進程

線程和進程關(guān)系

  linux下的進程其實是一個線程組,一個進程中可以有多個線程(多個pcb),線程是進程中的一條執(zhí)行流,類似于進程就是一個工廠,線程就是工廠中干活的人(Linux下干活的就是pcb)

  在linux中,pcb就是調(diào)度程序運行的描述,一個pcb就可以調(diào)度一段程序的運行;

  線程是進程中的一條執(zhí)行流,而這個執(zhí)行流Linux下就是通過pcb實現(xiàn)的,因此線程是一個pcb;并且這些pcb共享了進程中的大部分資源,因此相較于傳統(tǒng)pcb更加輕量化。

  進程:是一個程序動態(tài)的運行,其實就是一個程序運行的描述-pcb

  線程:是進程中的一條執(zhí)行流,執(zhí)行一個程序中的某段代碼

  在linux操作系統(tǒng)內(nèi)核中,其實沒有線程的概念,只有輕量級進程的概念

  一個進程中至少會有一個線程

  根據(jù)學(xué)習(xí)階段的不同,對pcb有不同的理解

  第一階段:pcb是進程,用于調(diào)度一個程序運行;

  第二階段:pcb是線程,是輕量級進程(就是為了跟印象中的傳統(tǒng)進程加以區(qū)分),因為線程是運行中程序的一條執(zhí)行流,linux下通過pcb實現(xiàn)這個執(zhí)行流,并且共用同一份運行資源

  進程是操作系統(tǒng)資源分配的基本單位(操作系統(tǒng)會為一個程序的運行分配所需的所有資源)

  線程是cpu調(diào)度的基本單位;

  線程之間的獨有與共享

  獨有:標(biāo)識符,寄存器,棧,信號屏蔽字,errno

  共享:虛擬地址空間(代碼段/數(shù)據(jù)段),文件描述符表,信號處理方式,用戶ID/組ID/工作路徑

  為什么信號是先注銷,再處理?:信號是針對整個進程通知時間進行處理的,但是一個信號只需要被處理一次就夠了,然而一個進程有可能會有多個執(zhí)行流,到底是誰處理這個事件(誰拿到時間片,誰能處理誰處理),有的線程不希望操作被信號被打斷,就可以獨立屏蔽這個信號----信號屏蔽字獨有原因

  使用vfork創(chuàng)建一個子進程;父子進程共用同一個虛擬地址空間,但是父進程會阻塞直到子進程exit或者程序替換;

  多線程,多個pcb作為獨立執(zhí)行流肯定是要同時運行,如何做到不會調(diào)用棧混亂----棧獨有的原因

  errno:系統(tǒng)調(diào)用完畢后重置的一個全局變量

  多線程/多進程進行多任務(wù)處理的優(yōu)缺點分析

  多線程優(yōu)點:

  線程間的通信更加靈活方便

  線程的創(chuàng)建與銷毀成本更低

  同一個進程中的線程間調(diào)度成本更低

  多進程的優(yōu)點:

  多進程的健壯性,穩(wěn)定性更高(異常以及一些系統(tǒng)調(diào)用exit直接針對整個進程有效)

  共同的優(yōu)點:提高程序中的處理效率

  IO密集型程序

  CPU密集型程序


上面就是關(guān)于什么是多線程   多線程詳細(xì)介紹的全部內(nèi)容介紹,希望上面的內(nèi)容能幫助到大家,上面的這些介紹還是能給大家普及這一塊的相關(guān)知識。

未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明出處