精品丰满熟女一区二区三区_五月天亚洲欧美综合网_亚洲青青青在线观看_国产一区二区精选

  • <menu id="29e66"></menu>

    <bdo id="29e66"><mark id="29e66"><legend id="29e66"></legend></mark></bdo>

  • <pre id="29e66"><tt id="29e66"><rt id="29e66"></rt></tt></pre>

      <label id="29e66"></label><address id="29e66"><mark id="29e66"><strike id="29e66"></strike></mark></address>
      學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 操作系統(tǒng) > 操作系統(tǒng)基礎(chǔ)知識(shí) > 操作系統(tǒng)鎖的種類(lèi)

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

      時(shí)間: 佳洲1085 分享

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

        操作系統(tǒng)中包含了多種不同類(lèi)型的鎖。下面由學(xué)習(xí)啦小編為大家整理了操作系統(tǒng)的鎖的種類(lèi)相關(guān)知識(shí),希望對(duì)大家有幫助!

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

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

        操作系統(tǒng)鎖的種類(lèi)1、信號(hào)量(Semaphore)

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

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

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

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

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

        操作系統(tǒng)鎖的種類(lèi)4、讀寫(xiě)鎖(Read-Write Lock)

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

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

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

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

      3626765