Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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 constexprera . 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_typese 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.