Junior — Middle
Pode-se usar o modificador synchronized para um método estático em Java?
sobes.tech IA
Resposta da IA
Sim, em Java pode usar o modificador synchronized para métodos estáticos. Nesse caso, o bloqueio ocorre ao nível da classe (objeto Class), e não ao nível da instância.
Isto significa que, se um thread executa um método estático sincronizado, outros threads que tentem chamar qualquer outro método estático sincronizado dessa mesma classe ficarão bloqueados até que o bloqueio seja liberado.
Exemplo:
public class Example {
public static synchronized void staticMethod() {
// código sincronizado no objeto Example.class
}
}
Assim, synchronized para métodos estáticos garante segurança de thread ao nível da classe.