DEV Community

Mayron Ceccon
Mayron Ceccon

Posted on

Deadlock e Livelock

Deadlock

É quando um (se esse processo utiliza threads) ou mais processos esperam a liberação de um recurso para prosseguir, mas esse recurso nunca é liberado, pois o processo/thread A depende de um recurso que deve ser liberado pelo processo/thread B, e o processo/thread B depende de um recurso que deve ser liberado pelo processo/thread A.

Deadlock

Real Deadlock

Livelock

Quando o estado de dois processos mudam constantemente, mas ao mudar os estados ambos os processos continuam se bloqueando.

Um exemplo real de livelock ocorre quando duas pessoas se encontram em um corredor estreito, e cada uma tenta ser educada movendo-se para o lado para deixar o outro passar, mas elas acabam balançando de um lado para o outro sem progredir, porque ambas se movem repetidamente da mesma maneira ao mesmo tempo.

Latest comments (0)