20140112

Deadlock

O QUE É UM DEADLOCK?

Nos termos da Ciência da Computação, um Deadlock ocorre em um sistema ou durante determinado processamento de dados quando dois ou mais processos estão a aguardar indefinidamente por um evento que somente poderá ser provocado por um dos processos que encontram-se no modo de espera. Ufa! Complicado? Que nada!

Vamos a um exemplo do cotidiano para compreendermos essa situação.


MEU ABSORVENTE CAIU! (QUE VEXAME!)




Vaso sanitário entupido!


Pois bem... O quadro de Deadlock é exatamente esse: devido ao acidente, as operações "acionar a tecla de função" e "sair de casa" foram bloqueadas. Há também na lista de processos a operação "chamar Sr. Mario, o encanador" (da qual as operações supracitadas dependem), que sai do seu estado de espera e logo é disparada. Enquanto o Sr. Mario não chegar e resolver o problema (a isso chamamos evento), não será possível executar as operações desejadas. E utilizar a ferramenta debugging (outra operação), nesse momento, seria impossível também.


Então, se o evento provocado pela operação "chamar Sr. Mario, o encanador" for bem-sucedido, as operações "acionar a tecla de função" e "sair de casa" serão liberadas, bem como a operação "utilizar a ferramenta debugging" (se for o caso).



E agora, compreenderam o processo de tratamento e de solução de um Deadlock?


Créditos do cartum: Millôr Fernandes.

Ninguém na trincheira.