lock
e unlock
.locked
.locked
. Múltiplas threads podem obter um mutex de leitura, mas apenas uma thread pode obter o mutex de escrita, e só conseguirá fazer isso se nenhuma thread tiver bloquado e mutex de leitura.acquire
), um contador é decrementado, se o contador for 0 (zero), a thread bloqueia até que alguma thread libere o semáforo (release
).wait
, notify_one
e notify_all
, além de um mecanismo para defini um mutex existente para bloquear o acesso à seção crítica.wait
em uma variável de condição e é bloqueada, uma outra thread utiliza notify_one
ou notify_all
na variável de condição, ativando a(s) thread(s) que estão bloquadas naquela variável.