Requisitos denominados de C++: TimedLockable (desde C++11)
De cppreference.com
Los requisitos de BloqueableTemporizado describen las características de tipos que proporcionan semántica de bloqueo exclusivo temporizado para agentes de ejecución (hilos, procesos, tareas).
Requisitos
Para que un tipo L sea BloqueableTemporizado, dados
rel_time, un valor de una especialización de std::chrono::duration, yabs_time, un valor de una especialización de std::chrono::time_point,
se deben satisfacer las siguientes condiciones para un objeto m de tipo L:
| Expresión | Efectos | Valor de retorno |
|---|---|---|
m.try_lock_for(rel_time)
|
Se bloquea durante la duración proporcionada rel_time o hasta que se adquiera un cerrojo en m.
|
true si se adquirió el cerrojo, de lo contrario false.
|
m.try_lock_until(abs_time)
|
Se bloquea hasta que se alcance el punto de tiempo proporcionado abs_time o se adquiera un cerrojo en m.
|
true si se adquirió el cerrojo, de lo contrario false.
|
Notas
Las funciones miembro {tt|try_lock_for}} y try_lock_until obtienen un cerrojo no compartido en m en caso de éxito.
Biblioteca estándar
Los siguientes tipo de la biblioetca estándar satisfacen BloqueableTemporizado:
(C++11) |
Proporciona un servicio de exclusión mutua que implementa bloqueo con un tiempo de espera. (clase) |
(C++11) |
Proporciona un servicio de exclusión mutua que puede ser bloqueado recursivamente por el mismo hilo e implementa bloqueo con un tiempo de espera. (clase) |
(C++14) |
Proporciona un servicio de exclusión mutua compartida e implementa bloqueo con un tiempo de espera. (clase) |