std::atomic_ref<T>::is_lock_free
bool is_lock_free() const noexcept;
|
(desde C++20) | |
Comprueba si las operaciones atómicas en este objeto están libres de bloqueos.
Parámetros
(Ninguno)
Valor de retorno
true si las operaciones atómicas en este objeto están libres de bloqueos, de lo contrario false.
Notas
Todos los tipos atómicos, excepto std::atomic_flag, pueden implementarse usando cierres de exclusión mutua (mutexes), en lugar de usar instrucciones de CPU libres de bloqueos. También se permite que a veces los tipos atómicos estén libres de bloqueos. Por ejemplo, si solamente los accessos a memoria alineada son naturalmente atómicos en una arquitectura dada, los objetos mal alineados del mismo tipo tienen que usar cerrojos.
El estándar de C++ recomienda (pero no requiere) que las operaciones atómicas libres de bloqueos también sean libres de dirección. Es decir, adecuadas para comunicación entre procesos usando memoria compartida.
Ejemplo
| Esta sección está incompleta Razón: sin ejemplo |
Véase también
[estático] |
Indica que el tipo siempre está libre de bloqueos. (constante miembro pública estática) |