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.