std::shared_lock<Mutex>:: try_lock_until
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
| Shared locking | ||||
|
shared_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++14) | |
Intenta bloquear el mutex asociado en modo compartido. 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 del necesario hasta alcanzar timeout_time .
Efectivamente llama a mutex ( ) - > try_lock_shared_until ( timeout_time ) .
std::system_error se lanza si no hay un mutex asociado o si el mutex ya está bloqueado.
Clock
debe cumplir con los
Clock
requisitos. El comportamiento es indefinido si
Mutex
no cumple con los
SharedTimedLockable
requisitos.
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_shared_for ( 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 el mutex asociado
(función miembro pública) |
|
|
intenta bloquear el mutex asociado
(función miembro pública) |
|
|
intenta bloquear el mutex asociado durante la duración especificada
(función miembro pública) |
|
|
desbloquea el mutex asociado
(función miembro pública) |
|
|
intenta bloquear (es decir, tomar posesión de) el mutex
TimedLockable
asociado, retorna si el mutex ha estado no disponible hasta que se alcanza el punto de tiempo especificado
(función miembro pública de
std::unique_lock<Mutex>
)
|