VademécumVademécum\Interbloqueo [deadlock] (concepto)

Interbloqueo [deadlock] (concepto)

Se da una situación de “deadlock” cuando dos o más threads se bloquean mutuamente, esperando el uno al otro, sin progresar ninguno de ellos.

Aunque parezca obvio el error, es frecuente provocar un deadlock cuando dos o más threads intentan ganar acceso a dos o más zonas de exclusión mutua, pero entrelazan los cerrojos:

 

synchronized(A) {

  synchronized(B) {

    ...

  }

}

synchronized(B) {

  synchronized(A) {

    ...

  }

}

 

Ver “vivacidad”.

principio
principio