Namespaces
Variants

std::shared_lock<Mutex>:: try_lock_until

From cppreference.net
Concurrency support library
Threads
(C++11)
(C++20)
this_thread namespace
(C++11)
(C++11)
Cooperative cancellation
Mutual exclusion
Generic lock management
Condition variables
(C++11)
Semaphores
Latches and Barriers
(C++20)
(C++20)
Futures
(C++11)
(C++11)
(C++11)
Safe reclamation
Hazard pointers
Atomic types
(C++11)
(C++20)
Initialization of atomic types
(C++11) (deprecated in C++20)
(C++11) (deprecated in C++20)
Memory ordering
(C++11) (deprecated in C++26)
Free functions for atomic operations
Free functions for atomic flags
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 ) .

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> )