Đó là bế tắc cổ điển khi một quy trình (nạn nhân) đọc trên serializable
cấp và một cập nhật khác cho cùng một bảng được phân nhóm.
Bạn bối rối không biết cái gì được chuyển đổi thành cái gì.
Quy trình đầu tiên ("process5e13b88") đã có được RangeS-S
khóa và đợi RangS-S
khác khóa (nơi có X
khóa của quá trình cập nhật), nó không chuyển đổi gì.
"Process5e45b88" thứ hai đã nhận được X
khóa trên một chìa khóa và U
trên một khóa khác và muốn chuyển đổi nó thành X
nhưng không thể vì có RangeS-S
khóa.
Tôi đính kèm hình ảnh mà bạn có thể thấy rằng một quy trình chỉ muốn và có được RangeS-S
ổ khóa và một chỉ khác X
ổ khóa.
Khi bạn thấy RangeS-U
khóa điều này có nghĩa là có RangeS-S
khóa trên phạm vi nhưng bản thân khóa có U
khóa