Qual das opções abaixo é o argumento aceito por um bloco sincronizado?
A) A thread que está executando o bloco.
B) O Objeto de quem o bloqueio é para ser obtido.
c) A classe do objeto de quem o bloqueio é para ser obtido.
Se você não sabe responder tudo bem, mas acho que é mais pertinente não responder nada. É mais educado
R
roger_rf
Na verdade sei responder, mas evito dar respostas diretas justamente para forçar você a ler documentação, fazer experiências e aprender de verdade. Dar respostas de mão beijada, definitivamente, não é comigo. Vou abrir uma exceção desta vez (e somente desta vez) para comentar sua dúvida: um bloco sincronizado aceita como argumento um objeto qualquer, sobre o qual a plataforma Java pode implementar um contexto de bloqueio (é o chamado “intrinsic lock”). É em cima desse bloqueio que o Java consegue evitar que outras Threads acessem o bloco sincronizado - elas só poderão fazê-lo quando o bloqueio for liberado. A resposta não pode ser C porque o bloqueio só pode ser feito em cima de um objeto, não uma classe. B é uma resposta válida, mas A também é (afinal, uma Thread também é um objeto). No entanto, implementar blocos sincronizados com contextos de bloqueio obtidos sobre Threads certamente não é uma prática usual. Assim, a melhor resposta é B.
Pra terminar, NINGUÉM deste fórum é obrigado a responder suas perguntas da maneira que você espera. Vejo que você é bem novo nisso, já que respostas com links são bastante comuns por aqui. Acha que sou mal-educado? Você é que se presta a esse papel, ao duvidar da capacidade de quem se dispõe a gastar tempo e esforço para fazer buscas na internet ou criar programas de teste para ajudar a resolver suas dúvidas. Você não precisa apenas estudar mais, também precisa crescer e aprender a respeitar os outros.
deyvid
Você não é mal educado e sei que você sabe responder. Apenas usei de psicologia, segui sua sugestão e li a documentação e não apenas fiz isso, mas fiz o download dessa documentação. Como nem todo mundo sabe inglês, queria que essa informação fosse para todos que tivessem a mesma dúvida.
E pensei, porque não fazer isso com quem realmente entende do assunto melhor do que eu? Que é o seu caso!
Você não só explicou a dúvida como disponibilizou para todos os que desejarem como fonte de consulta e não sabem inglês