std::unique_lock<Mutex>:: try_lock_until
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
| Locking | ||||
|
unique_lock::try_lock_until
|
||||
| Modifiers | ||||
| Observers | ||||
| Non-member functions | ||||
|
template
<
class
Clock,
class
Duration
>
bool try_lock_until ( const std:: chrono :: time_point < Clock, Duration > & timeout_time ) ; |
(desde C++11) | |
Intenta bloquear (es decir, tomar posesión de) el mutex asociado. Se bloquea hasta que se alcanza el timeout_time especificado o se adquiere el bloqueo, lo que ocurra primero. Al adquirir exitosamente el bloqueo retorna true , de lo contrario retorna false . Puede bloquearse por más tiempo que timeout_time hasta que se haya alcanzado.
Efectivamente llama a mutex ( ) - > try_lock_until ( timeout_time ) .
std::system_error se lanza si no hay un mutex asociado o si el mutex ya está bloqueado por el mismo hilo.
Clock
debe cumplir con los requisitos de
Clock
.
El programa está mal formado si
std::
chrono
::
is_clock_v
<
Clock
>
es
false
.
(desde C++20)
Contenidos |
Parámetros
| timeout_time | - | punto de tiempo máximo hasta el cual bloquear |
Valor de retorno
true si la propiedad del mutex ha sido adquirida exitosamente, false en caso contrario.
Excepciones
- Cualquier excepción lanzada por mutex ( ) - > try_lock_until ( timeout_time ) .
- 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, std::system_error con un código de error de std::errc::resource_deadlock_would_occur .
Ejemplo
|
Esta sección está incompleta
Razón: sin ejemplo |
Véase también
|
bloquea (es decir, toma posesión de) el mutex asociado
(función miembro pública) |
|
|
intenta bloquear (es decir, tomar posesión de) el mutex asociado sin bloquear
(función miembro pública) |
|
|
intenta bloquear (es decir, tomar posesión de) el
TimedLockable
mutex asociado, retorna si el mutex ha estado indisponible durante la duración de tiempo especificada
(función miembro pública) |
|
|
desbloquea (es decir, libera la posesión de) el mutex asociado
(función miembro pública) |