Объект любого уровня может быть
Объект любого уровня может быть захвачен в режиме s (разделяемом) или x (монопольном). Вводится специальный протокол гранулированных захватов и определены новые типы захватов: перед захватом объекта в режиме s или x соответствующий объект более высокого уровня должен бить захвачен в режиме IS. IX или SIX.
IS (Intented for Shared lock, предваряющий разделяемую блокировку) по отношению к некоторому составному объекту 0 означает намерение захватить некоторый входящий в 0 объект в совместном режиме. Например, при намерении читать кортежи из отношения R это отношение должно быть захвачено в режиме IS (а до этого в таком же режиме должен быть захвачен файл).
IX (Intented for exclusive lock, предваряющий жесткую блокировку) по отношению к некоторому составному объекту 0 означает намерение захватить некоторый входящий в 0 объект в монопольном режиме. Например, при намерении удалять кортежи из отношения R это отношение должно быть захвачено в режиме IX (а до этого в таком же режиме должен быть захвачен файл).
SIX (Shared, Intented for exclusive lock, разделяемая блокировка объекта, предваряющая дальнейшие жесткие блокировки его составляющих) по отношению к некоторому составному объекту О означает совместный захват всего этого объекта с намерением впоследствии захватывать какие-либо входящие в него объекты в монопольном режиме. Например, если выполняется длинная операция просмотра отношения с возможностью удаления некоторых просматриваемых кортежей, то экономичнее всего захватить это отношение в режиме SIX (а до этого захватить файл в режиме IS).
Весьма трудно описать словами все возможные ситуации. Приведем полную таблицу совместимости захватов, анализируя которую можно выявить все случаи (см. табл. 11.2).
243
Таблица 11.2. Матрица совместимости блокировок.
L1\L2 |
X |
S |
IX |
IS |
SIX |
Нет блокировки |
Да |
Да |
Да |
Да |
Да |
X |
Нет |
Нет |
Нет |
Нет |
Нет |
S |
Нет |
Да |
Нет |
Да |
Нет |
IX |
Нет |
Нет |
Да |
Да |
Нет |
IS |
Нет |
Да |
Да |
Да |
Да |
SIX |
Нет |
Нет |
Нет |
Да |
Нет |
<
Содержание Назад Вперед