Para muitas aplicações, um processo necessita de acesso exclusivo não só a um recurso, mas também a vários. Suponha, por exemplo, que dois processos queiram cada um gravar em CD um documento escaneado. O processo A solicita permissão para usar o scanner e é autorizado. O processo B, que é programado diferentemente, solicita primeiro permissão para usar o gravador de CD e também é autorizado. Então, o processo A pede para usar o gravador de CD, mas a solicitação lhe é negada até que o processo B o libere. Infelizmente, em vez de liberar o gravador de CD, o processo B pede para usar o scanner. Nesse ponto, ambos os processos ficam bloqueados e assim permanecerão para sempre. Essa situação é denominada impasse (deadlock).
Sistemas operacionais modernos / Andrew S. Tanenbaum