Sobes.tech
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.