¿Qué es Deadlock?

Significado de Deadlock (Qué es y Definición)

Un bloqueo es una situación en la que un programa no puede acceder a un recurso que necesita para continuar. Cuando una aplicación activa llega a un punto muerto, puede “colgarse” o dejar de responder.

Los recursos, como los datos guardados o en caché, pueden bloquearse cuando son accedidos por un proceso específico dentro de un programa. El bloqueo de los datos evita que otros procesos sobrescriban los datos prematuramente. Si un proceso o consulta necesita acceder a los datos bloqueados, pero el proceso que los bloquea no los deja pasar, puede producirse un bloqueo.

Por ejemplo, la siguiente situación provocará un bloqueo entre dos procesos:

* El proceso 1 solicita el recurso B al proceso 2.
* El recurso B está bloqueado mientras el proceso 2 se está ejecutando.
* El proceso 2 requiere el recurso A del proceso 1 para terminar de ejecutarse.
* El recurso A está bloqueado mientras el proceso 1 se está ejecutando.

El resultado es que el proceso 1 y el proceso 2 están esperando a que el otro termine. Como ninguno de los procesos puede continuar hasta que el otro termine, se crea un bloqueo.

Evitar los bloqueos

Los desarrolladores pueden evitar los bloqueos evitando las condiciones de bloqueo en su lógica de programación. Por ejemplo, en lugar de que dos procesos dependan el uno del otro, el código fuente puede escribirse de forma que cada hilo termine antes de que otro hilo necesite sus recursos. Al asegurar que los datos son accesibles cuando se necesitan, los programadores pueden proteger sus aplicaciones de colgarse o bloquearse.

NOTA:Los bloqueos también pueden ocurrir cuando se ejecutan dos o más consultas en una base de datos. Las bases de datos transaccionales bloquean los registros activos, impidiendo que otras consultas accedan a ellos. Si un proceso no puede acceder a un registro bloqueado, puede producirse un bloqueo de la base de datos.

La definición de Deadlock en esta página es la definición original de SharTec.eu.
El objetivo de SharTec.eu es explicar la terminología informática de una manera fácil de entender. Nos esforzamos por ser simples y precisos en todas las definiciones que publicamos. Si tiene algún comentario sobre la definición de Bloqueo o desea sugerirnos un nuevo término técnico, póngase en contacto con nosotros.