Bloqueo bifásico conservador
En informática, el bloqueo conservador de dos fases (C2PL) es un método de bloqueo utilizado en DBMS y bases de datos relacionales.
Conservative 2PL evita interbloqueos.
La diferencia entre 2PL y C2PL es que las transacciones de C2PL obtienen todos los bloqueos que necesitan antes de que comiencen las transacciones. Esto es para garantizar que una transacción que ya tiene algunos bloqueos no bloquee la espera de otros bloqueos.
En la contención de bloqueos pesados, C2PL reduce el tiempo que se mantienen los bloqueos en promedio, en relación con 2PL y 2PL estricto, porque las transacciones que mantienen bloqueos nunca se bloquean.
En la contención de bloqueos ligeros, C2PL mantiene más bloqueos de los necesarios, porque es difícil saber qué bloqueos se necesitarán en el futuro, lo que genera una mayor sobrecarga.
Además, una transacción ni siquiera obtendrá ningún bloqueo si no puede obtener todos los bloqueos que necesita en su solicitud inicial. Además, cada transacción debe declarar su conjunto de lectura y escritura (elementos de datos que se leerán/escribirán durante la transacción), lo que no siempre es posible. Debido a estas limitaciones, C2PL no se usa con mucha frecuencia.
Contenido relacionado
ALGOL 68S
ALGOL Y
Lenguaje de especificación IDL
Alma-0
Encuadernación tardía