यह क्लासिक गतिरोध है जब एक प्रक्रिया (पीड़ित) serializable
. पर पढ़ती है स्तर और दूसरा एक ही संकुल तालिका को अद्यतन करता है।
आप भ्रमित हैं कि क्या परिवर्तित किया गया है।
पहली प्रक्रिया ("process5e13b88") ने RangeS-S
. हासिल कर लिया है लॉक करें और दूसरे RangS-S
की प्रतीक्षा करें लॉक (जहां X
. है अद्यतन प्रक्रिया का ताला), यह कुछ भी नहीं परिवर्तित करता है।
दूसरे "process5e45b88" ने X
. हासिल कर लिया है एक कुंजी और U
. पर लॉक करें किसी अन्य कुंजी पर और इसे X
. में बदलना चाहता है लेकिन ऐसा नहीं हो सकता क्योंकि RangeS-S
. है ताला।
मैं वह तस्वीर संलग्न करता हूं जहां आप देख सकते हैं कि एक प्रक्रिया केवल RangeS-S
चाहती है और प्राप्त करती है ताले और दूसरा केवल X
ताले।
जब आप RangeS-U
see देखते हैं लॉक इसका मतलब है कि RangeS-S
. है सीमा पर लॉक करें लेकिन कुंजी में ही U
है लॉक करें