Interbloqueo

Un interbloqueo es una condición en la que un programa no puede acceder a un recurso que necesita para continuar. Cuando una aplicación activa encuentra un interbloqueo, puede «bloquearse» o dejar de responder.

Los recursos, como los datos guardados o almacenados en la caché, pueden bloquearse cuando un proceso específico dentro de un programa accede a ellos. Bloquear los datos evita que otros procesos los sobrescriban antes de tiempo. Si un proceso o una consulta necesita acceder a datos bloqueados, pero el proceso que bloquea los datos no los libera, puede producirse un interbloqueo.

Por ejemplo, la siguiente situación causará un interbloqueo entre dos procesos:

  • El proceso 1 solicita el recurso B al proceso 2.
  • El recurso B está bloqueado mientras el proceso 2 se ejecuta.
  • El proceso 2 necesita el recurso A del proceso 1 para terminar de ejecutarse.
  • El recurso A está bloqueado mientras el proceso 1 se ejecuta.

El resultado es que el proceso 1 y el proceso 2 esperan a que el otro termine. Como ninguno de los procesos puede continuar hasta que el otro finalice, se crea un interbloqueo.

Cómo evitar los interbloqueos

Los desarrolladores pueden evitar los interbloqueos evitando las condiciones de bloqueo en la lógica de sus programas. Por ejemplo, en lugar de hacer que dos procesos dependan uno del otro, el código fuente puede escribirse de modo que cada hilo termine antes de que otro hilo necesite sus recursos. Al asegurarse de que los datos estén disponibles cuando se necesiten, los programadores pueden evitar que sus aplicaciones se bloqueen o fallen.

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

Actualizado January 18, 2020 por Per C.

quizPon a prueba tu conocimiento

What defines the logical structure of an XML or HTML document?

A
PDF
0%
B
PSD
0%
C
DMG
0%
D
DOM
0%
Correct! Incorrect!     View the DOM definition.
More Quizzes →

El diccionario informático Tech Terms

La definición de Interbloqueo en esta página es una definición original escrita por los autores de TechTerms.com. Si desea hacer referencia a esta página o citar esta definición, utilice la barra de cita verde directamente debajo de la definición.

Nuestro objetivo es explicar la terminología informática de manera sencilla y comprensible. Nos esforzamos por la precisión y la claridad en cada definición que publicamos. Si tiene comentarios o desea sugerir un nuevo término técnico, contáctenos.

El boletín de Tech Terms

¡Mejora tu conocimiento técnico con nuestro boletín diario o semanal! Suscríbete hoy y recibe nuevos términos y cuestionarios en tu bandeja de entrada.

Suscríbase al boletín gratuito de TechTerms

¿Con qué frecuencia desea recibir un correo?

Puede cancelar su suscripción o cambiar la frecuencia en cualquier momento usando los enlaces disponibles en cada correo. ¿Preguntas? Contáctenos.

Nota: El boletín se envía en inglés.