Compatibilidad de tipo de bloqueo
La compatibilidad de bloqueo se convierte en un problema cuando una aplicación mantiene un bloqueo sobre un objeto y otra aplicación solicita un bloqueo sobre el mismo objeto. Cuando las dos modalidades de bloqueo son compatibles, se puede otorgar la solicitud de un segundo bloqueo sobre el objeto.
Si la modalidad de bloqueo del bloqueo solicitado no es compatible con el bloqueo que ya está retenido, no se puede otorgar la solicitud de bloqueo. En su lugar, la solicitud debe esperar hasta que la primera aplicación libere su bloqueo y se liberen todos los demás bloqueos incompatibles existentes.
La Tabla 1 muestra qué tipos de bloqueo son compatibles (indicados por un sí) y qué tipos no lo son (indicados por un no). Tenga en cuenta que se puede producir un tiempo de espera excedido cuando un solicitante está esperando un bloqueo.
| Estado de recurso retenido | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Estado que se está solicitando | Ninguno | IN | IS | NS | S | IX | SIX | U | X | Z | NW |
| Ninguno | sí | sí | sí | sí | sí | sí | sí | sí | sí | sí | sí |
| IN (Sin intención) | sí | sí | sí | sí | sí | sí | sí | sí | sí | No | sí |
| IS (INTENT SHARE) | sí | sí | sí | sí | sí | sí | sí | sí | No | No | No |
| NS (Compartir exploración) | sí | sí | sí | sí | sí | No | No | sí | No | No | sí |
| S (SHARE) | sí | sí | sí | sí | sí | No | No | sí | No | No | No |
| IX (INTENT EXCLUSIVE) | sí | sí | sí | No | No | sí | No | No | No | No | No |
| SIX (SHARE con INTENT EXCLUSIVE) | sí | sí | sí | No | No | No | No | No | No | No | No |
| u (Actualizar) | sí | sí | sí | sí | sí | No | No | No | No | No | No |
| X (EXCLUSIVE) | sí | sí | No | No | No | No | No | No | No | No | No |
| Z (superexclusivo) | sí | No | No | No | No | No | No | No | No | No | No |
| NW (siguiente clave débil exclusiva) | sí | sí | No | sí | No | No | No | No | No | No | No |