Neste artigo, vamos aprender os aspectos abaixo da listada de impasse em Java:
Então vamos começar!
O que é um impasse?
Deadlock descreve uma situação em que mais dois tópicos estão tentando acessar o mesmo recurso simultaneamente e, como resultado, ninguém recebe o recurso e acaba sendo bloqueado para sempre.
Quando e onde um impasse pode ocorrer
Em Java, o cenário de impasse pode ocorrer apenas no ambiente multithread, onde mais de um tópico é executado ao mesmo tempo. Além disso, uma palavra -chave sincronizada pode causar um impasse em java.
Da figura acima, podemos observar que o Thread1 está esperando o Thread2 para lançar os recursos e vice -versa.
Exemplos de impasse
Vamos considerar o exemplo abaixo para uma compreensão profunda de como ocorre um impasse em Java:
classe pública deadlockexampleNeste exemplo, temos dois threads thread1 e thread2, ambos os threads iniciam e chamam o método run ().
A seguir será a saída para o trecho acima:
Do trecho acima, fica claro que ambos os fios se trancaram.
Como evitar um impasse em java
Abaixo está a lista de prevenções que podem ser adotadas para evitar um impasse em Java:
Conclusão
Deadlock descreve uma situação em que mais dois tópicos estão tentando acessar o mesmo recurso simultaneamente e, como resultado, ninguém recebe o recurso e acaba sendo bloqueado para sempre. Em Java, um impasse ocorre apenas no ambiente multithread, onde mais de um tópico é executado ao mesmo tempo. Além disso, uma palavra -chave sincronizada pode causar um impasse em java. Em Java, um impasse não pode ser resolvido completamente, no entanto, pode ser evitado adotando algumas precauções/regras necessárias e.g. Evitando o uso de bloqueios desnecessários, bloqueios aninhados, etc.
Este artigo apresenta uma visão geral detalhada do que são impasse em java, como os impulsos ocorrem e como evitar os impasses em java.