色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

如何解決并發(fā)鎖

如何解決并發(fā)鎖?

1)排它鎖

新建兩個(gè)連接

在第一個(gè)連接中執(zhí)行以下語(yǔ)句

begin tran

update table1

set A='aa'

where B='b2'

waitfor delay '00:00:30' --等待30秒

commit tran

在第二個(gè)連接中執(zhí)行以下語(yǔ)句

begin tran

select * from table1

where B='b2'

commit tran

若同時(shí)執(zhí)行上述兩個(gè)語(yǔ)句,則select查詢必須等待update執(zhí)行完畢才能執(zhí)行即要等待30秒

2)共享鎖

在第一個(gè)連接中執(zhí)行以下語(yǔ)句

begin tran

select * from table1 holdlock -holdlock人為加鎖

where B='b2'

waitfor delay '00:00:30' --等待30秒

commit tran

在第二個(gè)連接中執(zhí)行以下語(yǔ)句

begin tran

select A,C from table1

where B='b2'

update table1

set A='aa'

where B='b2'

commit tran

若同時(shí)執(zhí)行上述兩個(gè)語(yǔ)句,則第二個(gè)連接中的select查詢可以執(zhí)行

而update必須等待第一個(gè)連接中的共享鎖結(jié)束后才能執(zhí)行 即要等待30秒

3)死鎖

增設(shè)table2(D,E)

D E

d1 e1

d2 e2

在第一個(gè)連接中執(zhí)行以下語(yǔ)句

begin tran

update table1

set A='aa'

where B='b2'

waitfor delay '00:00:30'

update table2

set D='d5'

where E='e1'

commit tran

java lock 并發(fā),如何解決并發(fā)鎖