資料庫作業21 併發控制

2021-10-06 05:39:35 字數 2238 閱讀 3410

這不排列組合嗎

t1 t2 t3 ——16

t1 t3 t2 —— 8

t2 t1 t3 —— 4

t2 t3 t1 —— 4

t3 t1 t2 —— 2

t3 t2 t1 —— 2

(2)t1

t2t3

slock a

y=r(a)=0

unlock a

xlock a

slock a

a=y+2

等待w(a)

等待unlock a

等待x=r(a)=2

unlock a

xlock a

slock a

a=x*2=4

等待w(a)

等待unlock a

等待z=r(a)=4

unlock a

xlock a

a=z**2=16

w(a)

unlock a

a=16

(3)t1

t2t3

slock a

y=r(a)=0

unlock a

slock a

y=r(a)=0

y=r(a)=0

xlock a

等待unlock a

a=y+2=2

w(a)

unlock a

slock a

y=r(a)=2

unlock a

xlock a

xlock a

等待a=y**2=4

等待w(a)

等待unlock a

a=y*2=0

w(a)

unlock a

a=0(4)t1

t2t3

slock a

y=r(a)=0

xlock a

a=y+2=2

slock a

w(a)

等待w(a)

等待unlock a

等待x=r(a)=2

xlock a

unlock a

等待slock a

a=x*2=4

等待w(a)

等待unlock a

等待z=r(a)=4

unlock a

xlock a

等待unlock a

等待a=z**2=16

w(a)

unlock a

(5)t1

t2t3

slock a

y=r(a)=0

slock a

x=r(a)=0

xlock a

等待等待

xlock a

等待等待

slock a

等待等待

z=r(a)=0

等待等待

xlock a

等待等待

等待乙個排程sc在保證衝突的操作的次序不變的情況下,通過交換兩個事務不衝突操作的次序得到另乙個排程sc』,如果sc』是序列的,稱排程sc是衝突可序列化的排程。

經交換得排程:r3(b)w3(b)r2(b)w2(b)r2(a)r1(b)r1(a)w1(a)

等價於乙個序列排程t3,t2,t1.所以是衝突可序列化的排程

(1)t1

t2slock a

r(a)

xlock b

r(b)

b=a+b

w(b)

w(b)

unlock b

unlock a

slock b

r(b)

xlock a

r(a)

a=a+b

w(a)

unlock a

unlock b

(2)t1

t2slock a

r(a)

slock b

r(b)

xlock b

等待等待

xlock a

等待等待

資料庫作業21 第十一章 併發控制

1 4種 16,8,4,2 t1 t2 t3 a 16 t1 t3 t2.a 8 t2 t1 t3 t3 t1 t2.a 4 t2 t3 t1 t3 t2 t1.a 2 2 結果為16 t1t2 t3slock a y r a 0 unlock a xlock a slock a a y 2 等待w...

資料庫作業21 第十一章 併發控制

設t1 t2 t3,是如下的三個事務,設a的初值為0。t1 a a 2 t2 a a2 t3 a a 2 即 a a 2 1 若這三個事務允許併發執行,則有多少種可能的正確結果?請一一枚舉出來。2 請給出乙個可序列化的排程,並給出執行結果。3 請給出乙個非序列化的排程,並給出執行結果。4 若這三個事...

資料庫作業21 第十一章 併發控制課後習題

9 設t1 t2 t3是如下三個事物,設a的初值為0.t1 a a 2 t2 a a 2 t3 a a 2 即a leftarrow a2 a 2a2 1 若這三個事物允許併發執行,則有多少種可能的正確結果?請一一枚舉出來。可能會產生的結果有 2 4 8 16 t1t2t3 16 t1t3t2 8 ...