1
resposta

Sobre newFixedThreadPool

Dada a questão: O que acontece quando criamos um newFixedThreadPool limitado a 4 threads, quatro clientes se conectam ao servidor e após um período de tempo um quinto cliente se conecta, sem que antes nenhum dos anteriores tenha saído ?

A resposta correta é: Ele fica bloqueado até alguns dos clientes atuais liberar uma thread para ser utilizada.

Porém ao simular este comportamento, notei que o processo mais recente criado antes é encerrado, com esta descrição: Process finished with exit code 130 (interrupted by signal 2:SIGINT)

Estou utilizando o Intellij e pinnando três consoles para os clientes e um para o servidor. Coloquei o número fixo de 2 threads para o pool de threads.

Observei que este comportamento deve ser referente à alguma configuração ou limitação do Intellij! Logo, fiz novamente, porém limitando a 1 thread e testando duas conexões e funcionou conforme o esperado...

1 resposta

Olá Ícaro, tudo bem?

Normalmente a saída 130 (interrupted by signal 2: SIGINT), indica que o processo foi interrompido por um sinal de interrupção, que geralmente é resultado de uma ação como pressionar Ctrl+C no terminal ou uma interrupção forçada de algum tipo.

Além disso, no Intellij, isso pode ser causado por limitações de recursos ou configurações específicas do ambiente de desenvolvimento. Por exemplo, se você está usando múltiplos consoles dentro do Intellij, pode haver uma limitação no número de processos simultâneos que podem ser gerenciados corretamente. Portanto, pode ter sido a causa do problema.

Ícaro, obrigada pela interação aqui no fórum, caso surja alguma dúvida não hesite em compartilhá-la.

Espero ter ajudado.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!