計(jì)算機(jī)軟件及應(yīng)用數(shù)據(jù)庫課件_第1頁
計(jì)算機(jī)軟件及應(yīng)用數(shù)據(jù)庫課件_第2頁
計(jì)算機(jī)軟件及應(yīng)用數(shù)據(jù)庫課件_第3頁
計(jì)算機(jī)軟件及應(yīng)用數(shù)據(jù)庫課件_第4頁
計(jì)算機(jī)軟件及應(yīng)用數(shù)據(jù)庫課件_第5頁
已閱讀5頁,還剩61頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

9.ConcurrencyControlJongHoonKimDATABASESYSTEM

IMPLEMENTATION

HECTORGARCIA-MOLINA

JEFFRYD.ULLMAN

JENIFERWIDOM9.ConcurrencyControlJongHoonGeneralprocessofassuringthattransactionspreserveconsistencywhenexecutingsimultaneously.TransactionmanagerSchedulerBuffersRead/WriterequestsReadsandwritesConcurrencyControlGeneralprocessofassuringthSchedulesCorrectnessprincipleIfexecutedinisolation,everytransactionwilltransformanyconsistentstatetoanotherconsistentstate.However,transactionsoftenrunconcurrentlywithothertransactions,sothecorrectnessprincipledoesn’tapplydirectly.schedules

:

time-orderedsequenceoftheactionstakenbyoneormoretransactions->guaranteeddoproducethesameresultasiftransactionsexecutedone-at-a-timeWhenstudyingconcurrencycontrol,theimportantreadandwriteactionstakeplaceinthemain-memorybuffers,notdiskSchedulesCorrectnessprincipleT1T2READ(A,t)READ(A,s)t:=t+100s:=s*2WRITE(A,t)WRITE(A,s)READ(B,t)READ(B,s)t:=t+100s:=s*2WRITE(B,t)WRITE(B,s)theonlyconsistencyconstraintonthedatabasestateisthatA=B.eachtransaction,runinisolation,willpreserveconsistencySchedules–Ex.9.1T1T2READ(A,t)READ(A,s)t:=tSerialSchedules:AscheduleSisserialifforanytwotransactionsTandT’,ifanyactionofTprecedesanyactionofT’,thenallactionsofTprecedesallactionsofT’T1T2AB2525READ(A,t)t:=t+100WRITE(A,t)125READ(B,t)t:=t+100WRITE(B,t)125READ(A,s)s:=s*2WRITE(A,s)250READ(B,s)s:=s*2WRITE(B,s)250T1T2AB2525READ(A,s)s:=s*2WRITE(A,s)50READ(B,s)s:=s*2WRITE(B,s)50READ(A,t)t:=t+100WRITE(A,t)150READ(B,t)t:=t+100WRITE(B,t)150SerialSchedules:AscheduleSerializableScheduleseveryserialschedulewillpreserveconsistencyofdatabasestateserializable:ifitseffectonthedatabasestateisthesameasthatofsomeserialschedule,regardlessofwhattheinitialstateofthedatabaseisT1T2AB2525READ(A,t)t:=t+100WRITE(A,t)125READ(A,s)s:=s*2WRITE(A,s)250READ(B,t)t:=t+100WRITE(B,t)125READ(B,s)s:=s*2WRITE(B,s)250Aserializable,butserial,scheduleSerializableScheduleseveryseT1T2AB2525READ(A,t)t:=t+100WRITE(A,t)125READ(A,s)s:=s*2WRITE(A,s)250READ(B,s)s:=s*2WRITE(B,s)50READ(B,t)t:=t+100WRITE(B,t)150NonerializableScheduleT1T2AB2525READ(A,t)t:=t+100TheEffectofTransactionSemanticsT1T2AB2525READ(A,t)t:=t+100WRITE(A,t)125READ(A,s)s:=s*1WRITE(A,s)125READ(B,s)25s:=s*1WRITE(B,s)READ(B,t)t:=t+100WRITE(B,t)125AschedulethatisserializableonlybecauseofthedetailedbehaviorofthetransactionsTheEffectofTransactionSemaANotationforTransactions&SchedulesRepresenttransactionsandschedulesbyashorthandnotation :rT(x)/wT(x)Example9.5:Thetransactionoffig9.2canbewritten T1:r1(A);w1(A);r1(B);w1(B); T2:r2(A);w2(A);r2(B);w2(B);

Thetransactionoffig9.5canbewritten r1(A);w1(A);r2(A);w2(A);r1(B);w1(B);r2(B);w2(B);

T1T2READ(A,t)READ(A,s)t:=t+100s:=s*2WRITE(A,t)WRITE(A,s)READ(B,t)READ(B,s)t:=t+100s:=s*2WRITE(B,t)WRITE(B,s)T1T2READ(A,t)t:=t+100WRITE(A,t)READ(A,s)s:=s*2WRITE(A,s)READ(B,t)t:=t+100WRITE(B,t)READ(B,s)s:=s*2WRITE(B,s)ANotationforTransactions&Conflict-SerializabilityConflict:apairofconsecutiveactionsinaschedulesuchthat,iftheirorderisinterchanged,thenthebehaviorofatleastoneofthetransactionsinvolvedcanchange.ConditionofConflict1.Twoactionsofthesametransaction,ri(X);wi(Y)conflict.2.Twowritesofthesamedatabaseelementbydifferenttransactionconflictwi(X);wj(X)conflict.3.Areadandwriteofthesamedatabaseelementbydifferenttransactionsalsoconflict.ri(X);wj(X)andwi(X);rj(X)conflictConflict-equivalent:iftheycanbeturnedoneintotheotherbyasequenceofnon-conflictingswapsofadjacentactionsConflict-serializable:ifitisconflict-equivalenttoaserialscheduleConflict-SerializabilityConflir1(A);w1(A);r2(A);w2(A);r1(B);w1(B);r2(B);w2(B);fromexample9.5-Thisscheduleisserializable:allofT’1sactionsprecedeallthoseofT2

-Convertingaconflict-serializablescheduletoaserialschedulebyswapofadjacentactions: r1(A);w1(A);r2(A);w2(A);r1(B);w1(B);r2(B);w2(B); r1(A);w1(A);r2(A);r1(B);w2(A);w1(B);r2(B);w2(B); r1(A);w1(A);r1(B);r2(A);w2(A);w1(B);r2(B);w2(B); r1(A);w1(A);r1(B);r2(A);w1(B);w2(A);r2(B);w2(B);

r1(A);w1(A);r1(B);w1(B);r2(A);w2(A);r2(B);w2(B);Conflict-Serializability–Ex.9.6r1(A);w1(A);r2(A);w2(A);r1(B)PrecedenceGraphforConflict-SerializabilityGivenascheduleS,involvingtransactionsT1andT2,ifthereareactionsA1

ofT1andA2ofT2,suchthat1.A1isaheadofA2inS2.BothA1andA2involvethesamedatabaseelement3.AtleastoneofA1andA2iswriteaction-theseareexactlytheconditionsunderwhichwecannotswaptheorderofA1andA2->T1takesprecedenceoverT2:T1<ST2ConstructtheprecedencegraphforSandaskifthereareanycycle

Sisnotconflict-serializableT1T2PrecedenceGraphforConflict-S1:r1(B);w1(B);r2(A);w2(A);r2(B);w2(B);r3(A);w3(A);123:acyclic,scheduleS’isconflict-serializable(acyclic)S2:r2(A);r1(B);w2(A);r2(B);r3(A);w1(B);w3(A);w2(B);123:cyclicprecedencegraph:itsscheduleisnotconflict-serializablePrecedenceGraph–Ex.9.8,9.9S1:r1(B);w1(B);r2(A);w2(A)EnforcingSerializabilitybyLocksWhatdoesserializibilitymeans?CollectionoftransactionsperformingtheiractionsFormationofscheduleSchedulerpreventsorderofactionsthatleadstounserializablescheduleLocksareimplementedondatabaseelements.EnforcingSerializabilitybyLLocksRequestandreleaselocksforreadingandwriting.ConsistencyofTransactions:Atransactioncanonlyreadorwriteanelementifitrequestedalockonthatelementandhasn’tyetreleasedthelock.Ifatransactionlocksanelement,itmustlatterunlockthatelement.LegalityofSchedules:Notwotransactionsmayhavelockedthesamewithoutonehavingfirstreleasedthelock.LocksConsistencyofTransactioLi(x):TransactionTirequestalockondatabaseelementX.Ui(x):TransactionTireleasesitslockondatabaseelementX.ConsistencyofTransactions:WheneveratransactionTihasanactionri(x),thenthereisapreviousactionli(x)withnointerveningactionui(x),andthereissubsequentui(x).LegalityofSchedules:Ifthereareactionsli(x)followedbylj(x)inaschedule,thensomewherebetweentheseactionstheremustbeanactionui(x).Notationforlock/unlockLi(x):TransactionTirequest Alegalscheduleofconsistenttransaction;unfortunatelyitisnotserializable.Lock/unlock–Ex.9.10T1T2AB2525l1(A);r1(A);A:=A+100;w1(A);u1(A);125l2(a);r2(A);A:=A*2;w2(a);u2(A);250l2(B);r2(B);B:=B*2;w2(B);u2(b);50l1(B);r1(b);B:=B+100;w1(B);u1(B)150 AlegalscheduleofconsistenTheLockingScheduler Thelockingschedulerdelaysrequeststhatwouldresultinanillegalschedule.T1T2AB2525l1(A);r1(A);A:=A+100;w1(A);l1(B);u1(A);125l2(A);r2(A);A:=A*2;w2(a);u2(A);250l2(B);Deniedr1(B);B:=B+100;w1(B);u1(B);125l2(B);u2(A);r1(B);B:=B*2;w2(B);u2(B)250TheLockingScheduler ThelockTwo-PhaseLockingTheconditionunderwhichwecanguaranteethatalegalscheduleofconsistenttransactionsisconflict-serializableisknownastwo-phaselockingor2PL.Ineverytransaction,alllockrequestsprecedeallunlockrequests.Firstphase:LocksareobtainedSecondphase:Locksarerelinquished.Two-PhaseLockingTheconditionLockingSystemsWithSeveralLockModesTransactionTmusttakealockonadatabaseelementXevenifitonlywantstoreadXandnotwriteit.Whytwotransactionscannotreadthesameelementatasametime?2differentkindsoflocks,Reading(Sharedorreadlock)Writing(Exclusiveorwritelock)LockingSystemsWithSeveralLSharedandExclusiveLocksWrite:oneexclusivelockonx.Read:manysharedlocksonx.sli(x):TransactionTirequestsasharedlockonx.xli(x):Tirequestsexclusivelockonx.ui(x):Tiunlocksx.Ifxli(x)appearsinaschedule,thentherecannotbeafollowingxlj(x)orslj(x)forj,withoutanyinterveningui(x).Ifsli(x)appearsinaschedule,thentherecannotbeafollowingxlj(x)forj,withoutanyinterveningui(x).SharedandExclusiveLocksWrit AscheduleusingsharedandexclusivelocksSharedandExclusiveLocks–Ex.9.15T1T2sl1(A);r1(A);sl2(A);r2(A);sl2(B);r2(B);xl1(B)Deniedu2(A);u2(B);xl1(B);r1(B);w1(B);u1(A);u1(B);

AscheduleusingsharedandeCompatibilityMatricesSchedulerneedsapolicyaboutwhenitcangrantalockrequest,giventheotherlocksthatmayalreadybeheld.Acompatibilitymatrixhasarowandcolumnforeachlockmode.RowcorrespondstoalockthatisalreadyheldonanelementXbyanothertransaction.ColumnscorrespondstothemodeofalockonXthatisrequested.

ThecompatibilitymatrixforsharedandexclusivelocksLockrequested LockheldCompatibilityMatricesScheduleUpgradingLocksTransactionsTtakesasharedlockonX,othertransactionsalsoallowedtoreadXatsametime.TransactionTrequestforexclusivelockonX.ui(x)releasesalllocksonxheldbytransactionTi.T1T2sl1(A);r1(A);sl2(A);r2(A);sl2(B);r2(B);sl1(B);r1(B);xl1(B)Deniedu2(A);u2(B);xl1(B);w1(B);u1(A);u2(B); UpgradinglocksallowmoreconcurrentoperationUpgradingLocksTransactionsT UpgradingbytwotransactionscancauseadeadlockUpgradingLocks–Ex.9.16T1T2sl1(A);sl2(A);xl1(A)Deniedxl2(A)Denied UpgradingbytwotransactionsUpdateLocksDeadlockproblemcanbeavoidedbyusingupdatelock.Updatelockuli(x),onlyreadxbutnotwritex.Updatelockcanbeupgradedtowriteloack.

Compatibilitymatrixforshared,exclusiveandupdatelocks.SXUSYesNoYesXNoNoNoUNoNoNoUpdateLocksDeadlockproblemc CollectexecutionusingupdatelocksUpdateLocks–Ex.9.17T1T2ul1(A);r1(A);ul2(A)Deniedxl1(A);w1(A);u1(A);ul2(A);r2(A);xl2(A);w2(A);u2(A); CollectexecutionusingupdatIncrementLocksManytransactionsoperatebyincrementordecrement.Fundtransfer,airlineticketsIncrementactionscommutewitheachother.SXISYesNoNoXNoNoNoINoNoYesIncrementLocksManytransactio

TranModeWait?NxtTnextT1SnoT2UnoT3XyesTootherT3recordsAGroupMode:UWaiting:yesList:ElementInfoLockTable TranModeWait?Whataretheobjectswelock?

RelationARelationB...TupleATupleBTupleC...DiskblockADiskblockB...DBDBDBWhataretheobjectswelock? Example

R1tu1tu2tu3tu4T1(IS)T1(S),T2(S)RootRelationTuplesExampleR1tu1tu2tu3tu4T1(IS)T1Example

R1tu1tu2tu3tu4T1(IS)T1(S),T2(IX)T2(X)RootRelationTuplesExampleR1tu1tu2tu3tu4T1(IS)T1Multiplegranularity Requestor ISIXSX ISHolderIX S XTTTFFFFFFFTFTFTTMultiplegranularity9.ConcurrencyControlJongHoonKimDATABASESYSTEM

IMPLEMENTATION

HECTORGARCIA-MOLINA

JEFFRYD.ULLMAN

JENIFERWIDOM9.ConcurrencyControlJongHoonGeneralprocessofassuringthattransactionspreserveconsistencywhenexecutingsimultaneously.TransactionmanagerSchedulerBuffersRead/WriterequestsReadsandwritesConcurrencyControlGeneralprocessofassuringthSchedulesCorrectnessprincipleIfexecutedinisolation,everytransactionwilltransformanyconsistentstatetoanotherconsistentstate.However,transactionsoftenrunconcurrentlywithothertransactions,sothecorrectnessprincipledoesn’tapplydirectly.schedules

:

time-orderedsequenceoftheactionstakenbyoneormoretransactions->guaranteeddoproducethesameresultasiftransactionsexecutedone-at-a-timeWhenstudyingconcurrencycontrol,theimportantreadandwriteactionstakeplaceinthemain-memorybuffers,notdiskSchedulesCorrectnessprincipleT1T2READ(A,t)READ(A,s)t:=t+100s:=s*2WRITE(A,t)WRITE(A,s)READ(B,t)READ(B,s)t:=t+100s:=s*2WRITE(B,t)WRITE(B,s)theonlyconsistencyconstraintonthedatabasestateisthatA=B.eachtransaction,runinisolation,willpreserveconsistencySchedules–Ex.9.1T1T2READ(A,t)READ(A,s)t:=tSerialSchedules:AscheduleSisserialifforanytwotransactionsTandT’,ifanyactionofTprecedesanyactionofT’,thenallactionsofTprecedesallactionsofT’T1T2AB2525READ(A,t)t:=t+100WRITE(A,t)125READ(B,t)t:=t+100WRITE(B,t)125READ(A,s)s:=s*2WRITE(A,s)250READ(B,s)s:=s*2WRITE(B,s)250T1T2AB2525READ(A,s)s:=s*2WRITE(A,s)50READ(B,s)s:=s*2WRITE(B,s)50READ(A,t)t:=t+100WRITE(A,t)150READ(B,t)t:=t+100WRITE(B,t)150SerialSchedules:AscheduleSerializableScheduleseveryserialschedulewillpreserveconsistencyofdatabasestateserializable:ifitseffectonthedatabasestateisthesameasthatofsomeserialschedule,regardlessofwhattheinitialstateofthedatabaseisT1T2AB2525READ(A,t)t:=t+100WRITE(A,t)125READ(A,s)s:=s*2WRITE(A,s)250READ(B,t)t:=t+100WRITE(B,t)125READ(B,s)s:=s*2WRITE(B,s)250Aserializable,butserial,scheduleSerializableScheduleseveryseT1T2AB2525READ(A,t)t:=t+100WRITE(A,t)125READ(A,s)s:=s*2WRITE(A,s)250READ(B,s)s:=s*2WRITE(B,s)50READ(B,t)t:=t+100WRITE(B,t)150NonerializableScheduleT1T2AB2525READ(A,t)t:=t+100TheEffectofTransactionSemanticsT1T2AB2525READ(A,t)t:=t+100WRITE(A,t)125READ(A,s)s:=s*1WRITE(A,s)125READ(B,s)25s:=s*1WRITE(B,s)READ(B,t)t:=t+100WRITE(B,t)125AschedulethatisserializableonlybecauseofthedetailedbehaviorofthetransactionsTheEffectofTransactionSemaANotationforTransactions&SchedulesRepresenttransactionsandschedulesbyashorthandnotation :rT(x)/wT(x)Example9.5:Thetransactionoffig9.2canbewritten T1:r1(A);w1(A);r1(B);w1(B); T2:r2(A);w2(A);r2(B);w2(B);

Thetransactionoffig9.5canbewritten r1(A);w1(A);r2(A);w2(A);r1(B);w1(B);r2(B);w2(B);

T1T2READ(A,t)READ(A,s)t:=t+100s:=s*2WRITE(A,t)WRITE(A,s)READ(B,t)READ(B,s)t:=t+100s:=s*2WRITE(B,t)WRITE(B,s)T1T2READ(A,t)t:=t+100WRITE(A,t)READ(A,s)s:=s*2WRITE(A,s)READ(B,t)t:=t+100WRITE(B,t)READ(B,s)s:=s*2WRITE(B,s)ANotationforTransactions&Conflict-SerializabilityConflict:apairofconsecutiveactionsinaschedulesuchthat,iftheirorderisinterchanged,thenthebehaviorofatleastoneofthetransactionsinvolvedcanchange.ConditionofConflict1.Twoactionsofthesametransaction,ri(X);wi(Y)conflict.2.Twowritesofthesamedatabaseelementbydifferenttransactionconflictwi(X);wj(X)conflict.3.Areadandwriteofthesamedatabaseelementbydifferenttransactionsalsoconflict.ri(X);wj(X)andwi(X);rj(X)conflictConflict-equivalent:iftheycanbeturnedoneintotheotherbyasequenceofnon-conflictingswapsofadjacentactionsConflict-serializable:ifitisconflict-equivalenttoaserialscheduleConflict-SerializabilityConflir1(A);w1(A);r2(A);w2(A);r1(B);w1(B);r2(B);w2(B);fromexample9.5-Thisscheduleisserializable:allofT’1sactionsprecedeallthoseofT2

-Convertingaconflict-serializablescheduletoaserialschedulebyswapofadjacentactions: r1(A);w1(A);r2(A);w2(A);r1(B);w1(B);r2(B);w2(B); r1(A);w1(A);r2(A);r1(B);w2(A);w1(B);r2(B);w2(B); r1(A);w1(A);r1(B);r2(A);w2(A);w1(B);r2(B);w2(B); r1(A);w1(A);r1(B);r2(A);w1(B);w2(A);r2(B);w2(B);

r1(A);w1(A);r1(B);w1(B);r2(A);w2(A);r2(B);w2(B);Conflict-Serializability–Ex.9.6r1(A);w1(A);r2(A);w2(A);r1(B)PrecedenceGraphforConflict-SerializabilityGivenascheduleS,involvingtransactionsT1andT2,ifthereareactionsA1

ofT1andA2ofT2,suchthat1.A1isaheadofA2inS2.BothA1andA2involvethesamedatabaseelement3.AtleastoneofA1andA2iswriteaction-theseareexactlytheconditionsunderwhichwecannotswaptheorderofA1andA2->T1takesprecedenceoverT2:T1<ST2ConstructtheprecedencegraphforSandaskifthereareanycycle

Sisnotconflict-serializableT1T2PrecedenceGraphforConflict-S1:r1(B);w1(B);r2(A);w2(A);r2(B);w2(B);r3(A);w3(A);123:acyclic,scheduleS’isconflict-serializable(acyclic)S2:r2(A);r1(B);w2(A);r2(B);r3(A);w1(B);w3(A);w2(B);123:cyclicprecedencegraph:itsscheduleisnotconflict-serializablePrecedenceGraph–Ex.9.8,9.9S1:r1(B);w1(B);r2(A);w2(A)EnforcingSerializabilitybyLocksWhatdoesserializibilitymeans?CollectionoftransactionsperformingtheiractionsFormationofscheduleSchedulerpreventsorderofactionsthatleadstounserializablescheduleLocksareimplementedondatabaseelements.EnforcingSerializabilitybyLLocksRequestandreleaselocksforreadingandwriting.ConsistencyofTransactions:Atransactioncanonlyreadorwriteanelementifitrequestedalockonthatelementandhasn’tyetreleasedthelock.Ifatransactionlocksanelement,itmustlatterunlockthatelement.LegalityofSchedules:Notwotransactionsmayhavelockedthesamewithoutonehavingfirstreleasedthelock.LocksConsistencyofTransactioLi(x):TransactionTirequestalockondatabaseelementX.Ui(x):TransactionTireleasesitslockondatabaseelementX.ConsistencyofTransactions:WheneveratransactionTihasanactionri(x),thenthereisapreviousactionli(x)withnointerveningactionui(x),andthereissubsequentui(x).LegalityofSchedules:Ifthereareactionsli(x)followedbylj(x)inaschedule,thensomewherebetweentheseactionstheremustbeanactionui(x).Notationforlock/unlockLi(x):TransactionTirequest Alegalscheduleofconsistenttransaction;unfortunatelyitisnotserializable.Lock/unlock–Ex.9.10T1T2AB2525l1(A);r1(A);A:=A+100;w1(A);u1(A);125l2(a);r2(A);A:=A*2;w2(a);u2(A);250l2(B);r2(B);B:=B*2;w2(B);u2(b);50l1(B);r1(b);B:=B+100;w1(B);u1(B)150 AlegalscheduleofconsistenTheLockingScheduler Thelockingschedulerdelaysrequeststhatwouldresultinanillegalschedule.T1T2AB2525l1(A);r1(A);A:=A+100;w1(A);l1(B);u1(A);125l2(A);r2(A);A:=A*2;w2(a);u2(A);250l2(B);Deniedr1(B);B:=B+100;w1(B);u1(B);125l2(B);u2(A);r1(B);B:=B*2;w2(B);u2(B)250TheLockingScheduler ThelockTwo-PhaseLockingTheconditionunderwhichwecanguaranteethatalegalscheduleofconsistenttransactionsisconflict-serializableisknownastwo-phaselockingor2PL.Ineverytransaction,alllockrequestsprecedeallunlockrequests.Firstphase:LocksareobtainedSecondphase:Locksarerelinquished.Two-PhaseLockingTheconditionLockingSystemsWithSeveralLockModesTransactionTmusttakealockonadatabaseelementXevenifitonlywantstoreadXandnotwriteit.Whytwotransactionscannotreadthesameelementatasametime?2differentkindsoflocks,Reading(Sharedorreadlock)Writing(Exclusiveorwritelock)LockingSystemsWithSeveralLSharedandExclusiveLocksWrite:oneexclusivelockonx.Read:manysharedlocksonx.sli(x):TransactionTirequestsasharedlockonx.xli(x):Tirequestsexclusivelockonx.ui(x):Tiunlocksx.Ifxli(x)appearsinaschedule,thentherecannotbeafollowingxlj(x)orslj(x)forj,withoutanyinterveningui(x).Ifsli(x)appearsinaschedule,thentherecannotbeafollowingxlj(x)forj,withoutanyinterveningui(x).SharedandExclusiveLocksWrit AscheduleusingsharedandexclusivelocksSharedandExclusiveLocks–Ex.9.15T1T2sl1(A);r1(A);sl2(A);r2(A);sl2(B);r2(B);xl1(B)Deniedu2(A);u2(B);xl1(B);r1(B);w1(B);u1(A);u1(B);

AscheduleusingsharedandeCompatibilityMatricesSchedulerneedsapolicyaboutwhenitcangrantalockrequest,giventheotherlocksthatmayalreadybeheld.Acompatibilitymatrix

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論