Referente ao exercício da tarefa sobre uso do synchronized
: https://cursos.alura.com.br/course/threads-java-1/task/26281
Dado a opção b:
public class TarefaBuscaNome {
public synchronized TarefaBuscaNome() {
}
}
E sua respectiva explicação:
Apesar da palavra syncronized esta sendo usada corretamente, como qualquer método em Java, é necessário definir o tipo de retorno do método, inclusive void se nada é retornado.
Gostaria de contestá-la, pois este bloco de código se trata de um construtor, portanto se ausentando de um tipo de retorno. Ainda sim, o emprego do mesmo não é permitido.
Fiz uma breve pesquisa a respeito do uso da palavra-chave em construtores. De acordo com a documentação da Oracle, afirma-se ser algo teoricamente impraticável. No entanto nada impede de se criar um bloco synchronized
dentro do construtor.
Seria interessante corrigir esta afirmação no exercício, e explanar a respeito desta abordegem, se aplicável.