Namespaces
Variants

std::recursive_mutex:: unlock

From cppreference.net

Concurrency support library
Threads
(C++11)
(C++20)
this_thread namespace
(C++11)
(C++11)
Cooperative cancellation
Mutual exclusion
Generic lock management
Condition variables
(C++11)
Semaphores
Latches and Barriers
(C++20)
(C++20)
Futures
(C++11)
(C++11)
(C++11)
Safe reclamation
Hazard pointers
Atomic types
(C++11)
(C++20)
Initialization of atomic types
(C++11) (deprecated in C++20)
(C++11) (deprecated in C++20)
Memory ordering
(C++11) (deprecated in C++26)
Free functions for atomic operations
Free functions for atomic flags
void unlock ( ) ;
(seit C++11)

Entsperrt den Mutex, wenn sein Besitzgrad 1 beträgt (es gab genau einen weiteren Aufruf von lock() als Aufrufe von unlock() durch diesen Thread), andernfalls wird der Besitzgrad um 1 reduziert. Der Mutex muss vom aktuellen Ausführungsthread gesperrt sein, andernfalls ist das Verhalten undefiniert.

Dieser Vorgang synchronizes-with (wie definiert in std::memory_order ) jeden nachfolgenden Sperrvorgang, der den Besitz desselben Mutex erlangt.

Hinweise

unlock() wird normalerweise nicht direkt aufgerufen: std::unique_lock und std::lock_guard werden zur Verwaltung exklusiver Sperren verwendet.

Beispiel

Siehe auch

sperrt den Mutex, blockiert falls der Mutex nicht verfügbar ist
(öffentliche Elementfunktion)
versucht den Mutex zu sperren, kehrt zurück falls der Mutex nicht verfügbar ist
(öffentliche Elementfunktion)
C-Dokumentation für mtx_unlock