Bloqueio do monitor

Monitor Lock (Monitor Lock) é um mecanismo de controle de sincronização e exclusão mútua em Java, também conhecido como trava interna ou monitor. Cada objeto tem um bloqueio de monitor correspondente em Java.

Ao encontrar synchronizedum bloco de código ou método, ele adquire o bloqueio do monitor do objeto sincronizado. Apenas um thread pode manter um bloqueio de monitor em um objeto por vez. Outros threads tentando adquirir o mesmo bloqueio serão bloqueados até que o bloqueio seja liberado.

synchronizedUm bloqueio de monitor garante que apenas um thread possa executar o bloco de código ou método associado ao bloqueio . Ele fornece exclusão mútua, o que impede que vários threads acessem recursos compartilhados ao mesmo tempo, o que pode causar corrupção ou inconsistência de dados.

Veja a seguir um exemplo para ilustrar o uso de bloqueios de monitor:

public class MyClass {
    private int count = 0;
    
    public synchronized void increment() {
        // 同步方法
        // 同一时间只有一个线程可以执行这个方法
        count++;
    }
}

No código acima, os métodos synchronizedsão decorados com palavras-chave increment. O bloqueio do monitor associado a esse método é para garantir que apenas um thread possa manipular variáveis this​​ao executar o método e manter a consistência dos recursos compartilhados.incrementcount

Deve-se observar que o bloqueio do monitor é reentrante, ou seja, a mesma thread pode adquirir o mesmo bloqueio várias vezes sem travar. Um bloqueio reentrante permite que um encadeamento insira um bloco de código ou método sincronizado quantas vezes ele já possui o bloqueio.

Resumindo, o bloqueio de monitor é o conceito básico de sincronização de encadeamento em Java, que fornece sincronização e controle de exclusão mútua. Ele garante que apenas um encadeamento possa executar o código de sincronização associado a um determinado objeto de bloqueio, impede o acesso simultâneo a recursos compartilhados e garante operações seguras para encadeamento.

Acho que você gosta

Origin blog.csdn.net/qq_39208536/article/details/131473677
Recomendado
Clasificación