Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Concorrência na Servelet

Como o segundo acesso à Servelet alterou a variável filtro se a thread estava dormindo. Só depois que a thread acordasse é que ela deveria entrar no método doGet e alterado a variável filtro para doce. Não entendi.

1 resposta
solução!

Boa tarde, Felipe! Como vai?

Isso acontece pq cada usuário que acessa a Servlet será atendido por uma thread diferente e cada uma delas vai compartilhar o atributo filtro. Ou seja, quando se faz Thread.sleep(10000) o que acontece é que a thread que está passando por aquela instrução vai dormir. Mas nada impede de já existirem outras threads que já dormiram, inclusive já acordaram e estão em outra parte do código!

É justamente por esse motivo que gerenciar um ambiente multithread é difícil: por causa da concorrência!

Então a boa prática é evitar ao máximo de criar atributos nas suas Servlets a não ser que vc trate corretamente na raça a concorrência de acesso aos atributos! Assim como foi destacado pelo instrutor!

Pegou a ideia? Qualquer coisa é só falar!

Grande abraço e bons estudos!