• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 297,  comments - 15,  trackbacks - 0
            一、活鎖 
            如果事務(wù)T1封鎖了數(shù)據(jù)R,事務(wù)T2又請求封鎖R,于是T2等待。T3也請求封鎖R,
            當(dāng)T1釋放了R上的封鎖之后系統(tǒng)首先批準了T3的請求,T2仍然等待。然后T4又
            請求封鎖R,當(dāng)T3釋放了R上的封鎖之后系統(tǒng)又批準了T4的請求,...,T2有可
            能永遠等待,這就是活鎖的情形,避免活鎖的簡單方法是采用先來先服務(wù)的策略。
            二、死鎖 
            如果事務(wù)T1封鎖了數(shù)據(jù)R1,T2封鎖了數(shù)據(jù)R2,然后T1又請求封鎖R2,因T2已
            封鎖了R2,于是T1等待T2釋放R2上的鎖。接著T2又申請封鎖R1,因T1已封鎖了R1,
            T2也只能等待T1釋放R1上的鎖。這樣就出現(xiàn)了T1在等待T2,而T2又在等待T1的局面,
            T1和T2兩個事務(wù)永遠不能結(jié)束,形成死鎖。 
            1. 死鎖的預(yù)防
            在數(shù)據(jù)庫中,產(chǎn)生死鎖的原因是兩個或多個事務(wù)都已封鎖了一些數(shù)據(jù)對象,然后又都
            請求對已為其他事務(wù)封鎖的數(shù)據(jù)對象加鎖,從而出現(xiàn)死等待。防止死鎖的發(fā)生其實就
            是要破壞產(chǎn)生死鎖的條件。預(yù)防死鎖通常有兩種方法: 
            ① 一次封鎖法  
            一次封鎖法要求每個事務(wù)必須一次將所有要使用的數(shù)據(jù)全部加鎖,否則就不能繼續(xù)執(zhí)行。
            
            一次封鎖法雖然可以有效地防止死鎖的發(fā)生,但也存在問題,一次就將以后要用到的全
            部數(shù)據(jù)加鎖,勢必擴大了封鎖的范圍,從而降低了系統(tǒng)的并發(fā)度。
            ② 順序封鎖法 
            順序封鎖法是預(yù)先對數(shù)據(jù)對象規(guī)定一個封鎖順序,所有事務(wù)都按這個順序?qū)嵭蟹怄i。
            
            順序封鎖法可以有效地防止死鎖,但也同樣存在問題。事務(wù)的封鎖請求可以隨著事務(wù)的
            執(zhí)行而動態(tài)地決定,很難事先確定每一個事務(wù)要封鎖哪些對象,因此也就很難按規(guī)定的
            順序去施加封鎖。
             
            可見,在操作系統(tǒng)中廣為采用的預(yù)防死鎖的策略并不很適合數(shù)據(jù)庫的特點,因此DBMS在
            解決死鎖的問題上普遍采用的是診斷并解除死鎖的方法。
            
             2. 死鎖的診斷與解除
             
            ① 超時法
            
             如果一個事務(wù)的等待時間超過了規(guī)定的時限,就認為發(fā)生了死鎖。超時法實現(xiàn)簡單,但
            其不足也很明顯。一是有可能誤判死鎖,事務(wù)因為其他原因使等待時間超過時限,系統(tǒng)會
            誤認為發(fā)生了死鎖。二是時限若設(shè)置得太長,死鎖發(fā)生后不能及時發(fā)現(xiàn)。
             
            ② 等待圖法
             
            事務(wù)等待圖是一個有向圖G=(T,U)。 T為結(jié)點的集合,每個結(jié)點表示正運行的事務(wù);U為
            邊的集合,每條邊表示事務(wù)等待的情況。若T1等待T2,則T1、T2之間劃一條有向邊,從T1
            指向T2。事務(wù)等待圖動態(tài)地反映了所有事務(wù)的等待情況。并發(fā)控制子系統(tǒng)周期性地(比如
            每隔1分鐘)檢測事務(wù)等待圖,如果發(fā)現(xiàn)圖中存在回路,則表示系統(tǒng)中出現(xiàn)了死鎖。
             
            DBMS的并發(fā)控制子系統(tǒng)一旦檢測到系統(tǒng)中存在死鎖,就要設(shè)法解除。通常采用的方法是選擇
            一個處理死鎖代價最小的事務(wù),將其撤消,釋放此事務(wù)持有的所有的鎖,使其它事務(wù)得以繼續(xù)
            運行下去。當(dāng)然,對撤消的事務(wù)所執(zhí)行的數(shù)據(jù)修改操作必須加以恢復(fù)。
            posted on 2012-06-08 17:15 chatler 閱讀(1073) 評論(0)  編輯 收藏 引用 所屬分類: OS
            <2025年8月>
            272829303112
            3456789
            10111213141516
            17181920212223
            24252627282930
            31123456

            常用鏈接

            留言簿(10)

            隨筆分類(307)

            隨筆檔案(297)

            algorithm

            Books_Free_Online

            C++

            database

            Linux

            Linux shell

            linux socket

            misce

            • cloudward
            • 感覺這個博客還是不錯,雖然做的東西和我不大相關(guān),覺得看看還是有好處的

            network

            OSS

            • Google Android
            • Android is a software stack for mobile devices that includes an operating system, middleware and key applications. This early look at the Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language.
            • os161 file list

            overall

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            久久精品国产99国产精品亚洲| 高清免费久久午夜精品| 国产精品永久久久久久久久久 | 777久久精品一区二区三区无码| 狠狠色丁香久久婷婷综合五月 | 久久天天躁狠狠躁夜夜avapp| 国产成人精品综合久久久久 | 久久99热国产这有精品| 国产亚洲精久久久久久无码AV| 7777久久久国产精品消防器材| 伊人热人久久中文字幕| 久久精品无码一区二区WWW| 日本久久久精品中文字幕| 色欲久久久天天天综合网精品| 88久久精品无码一区二区毛片 | 久久久久久亚洲AV无码专区| 久久精品国产第一区二区| 国产精品久久久久9999| 久久亚洲精品无码aⅴ大香| 欧美精品丝袜久久久中文字幕 | 久久综合给合久久狠狠狠97色| 免费一级欧美大片久久网| 久久综合九色综合精品| 精品国产乱码久久久久久郑州公司| 亚洲国产综合久久天堂| 久久国产免费| 久久99精品久久久久久水蜜桃 | 一本久道久久综合狠狠爱| 亚洲欧美日韩精品久久亚洲区| 精品久久久久久无码国产| 国产精品亚洲综合专区片高清久久久| 99久久无码一区人妻a黑| 久久精品九九亚洲精品| 亚洲AV无码久久精品色欲| 久久99久久99精品免视看动漫 | 久久久久亚洲精品天堂久久久久久| 久久精品99久久香蕉国产色戒 | 午夜精品久久久久久| 性做久久久久久免费观看| 久久午夜免费视频| 亚洲综合伊人久久综合|