Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Dúvida no DeadLock

Boa tarde,

Realizei o exercicio, mas ainda não consegui entender muito bem, o deadlock nesse caso. Poderiam me ajudar?

2 respostas
solução!

Oi Thiago,

No exemplo, temos duas threads que precisam consumir os mesmos arquivos.

A thread1 vai lá e bloqueia o acesso ao arquivo1 e fica esperando um pouco.

Neste meio tempo, a thread2 bloqueia o acesso ao arquivo2 e também fica esperando um pouco.

Quando a thread1 tenta acessar o arquivo2, este está bloqueado pela thread2 por conta do synchronized, onde somente um pode acessar aquele recurso por vez.

A mesma coisa acontece quando a thread2 tenta acessar o arquivo1.

Então temos as duas threads esperando que uma libere o recurso para a outra mas nenhuma libera portanto tempo o deadlock.

Ficou mais claro?

Abraço!

Oi Joviane

Entendi!! :)

Muito obrigado