国产成人v爽在线免播放观看,日韩欧美色,久久99国产精品久久99软件,亚洲综合色网站,国产欧美日韩中文久久,色99在线,亚洲伦理一区二区

學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 操作系統(tǒng) > 操作系統(tǒng)基礎(chǔ)知識 >

操作系統(tǒng)鎖有哪幾種分類

時(shí)間: 加城1195 分享

  操作系統(tǒng)中鎖保證了各種線程的同步,其中包含了多種不同類型的鎖,具體有哪些種類呢。下面由學(xué)習(xí)啦小編為大家整理了操作系統(tǒng)的鎖的種類相關(guān)知識,希望對大家有幫助!

  操作系統(tǒng)鎖的種類

  鎖是線程同步時(shí)的一個(gè)重要的工具,然而操作系統(tǒng)中包含了多種不同的鎖,各種鎖之間有什么不同呢?

  操作系統(tǒng)鎖的種類1、讀寫鎖(Read-Write Lock)

  適 用于一個(gè)特定的場合。比如對于一段線程間訪問的數(shù)據(jù),如果程序大部分時(shí)間都是在讀取,而只有很少的時(shí)間才會寫入,那么使用前面幾種鎖時(shí),每次讀取也是同樣 要申請鎖的,而這時(shí)其它的線程就無法再對此段數(shù)據(jù)進(jìn)行讀取??墒?,多個(gè)線程同時(shí)對一段數(shù)據(jù)進(jìn)行讀取時(shí),是不存在同步問題的,那么這些讀取時(shí)設(shè)置的鎖就影響 了程序的性能。讀寫鎖的出現(xiàn)就是為了解決這個(gè)問題的。

  對于一個(gè)讀寫鎖,有兩種獲取方式:共享(Shared)或獨(dú)占 (Exclusive)。如果當(dāng)前讀寫鎖處于空閑狀態(tài),那么當(dāng)多個(gè)線程同時(shí)以共享方式訪問該讀寫鎖時(shí),都可以成功;而此時(shí)如果一個(gè)線程以獨(dú)占的方式訪問該 讀寫鎖,那么它會等待所有共享訪問都結(jié)束后才可以成功。在讀寫鎖被獨(dú)占訪問的過程中,再次共享和獨(dú)占請求訪問該鎖,都會進(jìn)行等待狀態(tài)。

  操作系統(tǒng)鎖的種類2、互斥量 (Mutex)

  和二元信號量類似, 唯一不同的是,互斥量的獲取和釋放必須是在同一個(gè)線程中進(jìn)行的。如果一個(gè)線程去釋放一個(gè)并不是它所占有的互斥量是無效的。而信號量是可以由其它線程進(jìn)行釋放的。

  操作系統(tǒng)鎖的種類3、信號量(Semaphore)

  信號量分為二元信號量和多元信號量,所謂二元信號量就是指該信號量只有兩個(gè)狀態(tài),要么被占用,要么空閑;而多元信號量則允許同時(shí)被N個(gè)線程占有,超出N個(gè)外的占用請求將被阻塞。信號量是“系統(tǒng)級別”的,即同一個(gè)信號量可以被不同的進(jìn)程訪問。

  操作系統(tǒng)鎖的種類4、臨界區(qū)(Critical Section)

  術(shù)語中,把臨界區(qū)的鎖的獲取稱為進(jìn)入臨界區(qū),而把鎖的釋放稱為離開臨界區(qū)。臨界區(qū)是“進(jìn)程級別”的,即它只在本進(jìn)程的所有線程中可見,其它性質(zhì)與互斥量相同(即誰獲取,誰釋放)

  操作系統(tǒng)鎖的種類5、條件變量(Condition Variable)

  條件變量相當(dāng)于一種通知機(jī)制。多個(gè)線程可以設(shè)置等待該條件變量,而一旦另外的線程設(shè)置了該條件變量(相當(dāng)于喚醒條件變量)后,多個(gè)等待的線程就可以繼續(xù)執(zhí)行了。

3974721