2011-06-20 26 views

Respuesta

7

livelock es un caso especial de agotamiento de recursos en la que dos procesos siguen un algoritmo para resolver un punto muerto que se traduce en una ciclo de diferentes estados bloqueados porque cada proceso está intentando la misma estrategia para evitar el bloqueo.

El propio fallecimiento puede ocurrir para un proceso sin que otro proceso se bloquee cíclicamente; en este caso, no existe el bloqueo en tiempo real, solo un desafortunado proceso que no recibe recursos asignados por el programador.

1

inanición
se hace una tarea de baja prioridad a hambriento de procesador debido a la llegada continua de tarea de alta prioridad. Se puede resolver por el método de herencia de prioridad.
Livelock
cuando dos tareas no muestran progreso debido a la dependencia entre ellas.

+0

La dependencia de la tarea causa interbloqueo y no bloqueo en vivo. Tu definición de livelock es completamente incorrecta en mi opinión. – giovannim

0

El hambre y livelock

El hambre y livelock son tanto un problema menos común que el punto muerto, pero sigue habiendo problemas que cada diseñador de software concurrente es probable que encuentre.

inanición

inanición describe una situación en la que un hilo es incapaz de ganar acceso regular a los recursos compartidos y es incapaz de hacer progresos. Esto sucede cuando los recursos compartidos no están disponibles durante largos períodos por los hilos "codiciosos". Por ejemplo, supongamos que un objeto proporciona un método sincronizado que a menudo tarda mucho tiempo en regresar. Si un hilo invoca este método con frecuencia, a menudo se bloquearán otros hilos que también necesitan acceso sincronizado frecuente al mismo objeto.

livelock

Un hilo a menudo actúa en respuesta a la acción de otro hilo. Si la acción del otro subproceso también es una respuesta a la acción de otro subproceso, entonces puede producirse un bloqueo en vivo. Al igual que con el punto muerto, los hilos enclavados no pueden avanzar más. Sin embargo, los hilos no están bloqueados; simplemente están demasiado ocupados respondiendo el uno al otro para reanudar el trabajo. Esto es comparable a dos personas que intentan cruzarse en un corredor: Alphonse se mueve a su izquierda para dejar pasar a Gaston, mientras que Gaston se mueve hacia la derecha para dejar pasar a Alphonse. Al ver que todavía están bloqueándose entre sí, Alphone se mueve a su derecha, mientras que Gaston se mueve a su izquierda. Todavía se están bloqueando, así que ...

Cuestiones relacionadas