mutex
(Clase, Biblioteca estándar de C++)
Representa un tipo de exclusión mutua. Los objetos de este tipo se pueden usar para aplicar la exclusión mutua dentro de un programa.
Sintaxis
class mutex;
Miembros
Constructor/destructor público
Nombre | Descripción |
---|---|
mutex |
Construye un objeto mutex . |
~mutex |
Libera todos los recursos utilizados por el objeto mutex . |
Métodos públicos
Nombre | Descripción |
---|---|
lock |
Bloquea el subproceso que realiza la llamada hasta que este obtiene la propiedad mutex . |
native_handle |
Devuelve el tipo específico de la implementación que representa el identificador de exclusión mutua. |
try_lock |
Intenta obtener la propiedad de mutex sin bloquearlo. |
unlock |
Libera la propiedad de mutex . |
Requisitos
Encabezado: <mutex>
Espacio de nombres: std
lock
Bloquea el subproceso que realiza la llamada hasta que este obtiene la propiedad mutex
.
void lock();
Comentarios
Si el subproceso que realiza la llamada ya posee mutex
, el comportamiento es indefinido.
Constructor
Crea un objeto mutex
que no está bloqueado.
Antes de Visual Studio 2022 17.10, la implementación de Microsoft de este constructor no constexpr
era . Ahora es constexpr
.
mutex() noexcept;
Destructor
Libera todos los recursos usados por el objeto mutex
.
~mutex();
Comentarios
Si el objeto está bloqueado cuando se ejecuta el destructor, el comportamiento es indefinido.
native_handle
Devuelve el tipo específico de la implementación que representa el identificador de exclusión mutua. El controlador de exclusión mutua puede usarse en aspectos específicos de la implementación.
native_handle_type native_handle();
Valor devuelto
native_handle_type
se define como .Concurrency::critical_section *
Se convierte como void *
.
try_lock
Intenta obtener la propiedad de mutex
sin bloquearlo.
bool try_lock();
Valor devuelto
Es true
si el método obtiene correctamente la propiedad de mutex
; de lo contrario, es false
.
Comentarios
Si el subproceso que realiza la llamada ya posee mutex
, el comportamiento es indefinido.
unlock
Libera la propiedad de mutex
.
void unlock();
Comentarios
Si el subproceso que realiza la llamada no posee mutex
, el comportamiento no está definido.