std::unique_lock::try_lock
De cppreference.com
< cpp | thread | unique lock
bool try_lock(); |
(desde C++11) | |
Trata de bloquear el mutex asociado (es decir, de tomar posesión) sin bloquearse. Efectivamente llama a mutex()->try_lock().
Se lanza std::system_error si no hay un mutex asociado o si el mutex ya está bloqueado por este objeto std::unique_lock
.
Contenido |
[editar] Parámetros
(Ninguno)
[editar] Valor de retorno
true si se tuvo éxito al tomar posesión del mutex; de lo contrario, false.
[editar] Excepciones
- Cualquier excepción lanzada por mutex()->lock() (los tipos Mutex no lanzan en
try_lock
, pero un tipo Lockable personalizado podría hacerlo).
- Si no hay un mutex asociado, std::system_error con un código de error de std::errc::operation_not_permitted.
- Si el mutex ya está bloqueado por este objeto
unique_lock
(en otras palabras, owns_lock estrue
), std::system_error con un código de error de std::errc::resource_deadlock_would_occur.
[editar] Ejemplo
Esta sección está incompleta Razón: sin ejemplo |
[editar] Véase también
Bloquea el mutex asociado (es decir, toma posesión). (función miembro pública) | |
Intenta bloquear el mutex TimedLockable asociado; es decir, de tomar posesión. Regresa si el mutex no ha estado disponible por la duración de tiempo especificada. (función miembro pública) | |
Intenta bloquear el mutex TimedLockable asociado; es decir, de tomar posesión. Regresa si el mutex no ha estado disponible hasta que se alcance un punto de tiempo especificado. (función miembro pública) | |
Desbloquea el mutex asociado; es decir, libera su posesión. (función miembro pública) |