O que é um ReadWriteLock?

Published on 2026-09-02·v1.0

Um lock que permite leituras paralelas e bloqueia as escritas.

Question

O que é um ReadWriteLock?

Less Short Answer

Locks são usados para prevenir condições de corrida. Uma condição de corrida ocorre quando duas threads estão escrevendo e lendo o mesmo campo: será que a thread B vai enxergar o valor escrito pela thread A? A sincronização garante isso bloqueando tudo.

Dois Locks em Um

O ReadWriteLock funciona com dois locks: um para as operações de leitura, e outro para as operações de escrita. O lock de escrita é exclusivo — nenhum outro lock pode ser obtido enquanto ele estiver ativo. Já o lock de leitura não é assim: você pode ter qualquer número de locks de leitura ativos ao mesmo tempo.

One Last Word

Claro, isso só é uma otimização se o seu número de operações de escrita for bem menor que o número de operações de leitura.

References