Namespaces
Variants

atomic_flag_test_and_set, atomic_flag_test_and_set_explicit

From cppreference.net
Definido en el encabezado <stdatomic.h>
_Bool atomic_flag_test_and_set ( volatile atomic_flag * obj ) ;
(1) (desde C11)
_Bool atomic_flag_test_and_set_explicit ( volatile atomic_flag * obj, memory_order order ) ;
(2) (desde C11)

Cambia atómicamente el estado de un atomic_flag apuntado por obj a establecido ( true ) y devuelve el valor anterior. La primera versión ordena los accesos a memoria según memory_order_seq_cst , la segunda versión ordena los accesos a memoria según order .

El argumento es un puntero a una bandera atómica volátil para aceptar direcciones de banderas atómicas tanto no volátiles como volátiles (por ejemplo, E/S mapeadas en memoria).

Contenidos

Parámetros

obj - puntero al objeto de bandera atómica a modificar
order - el orden de sincronización de memoria para esta operación: se permiten todos los valores

Valor de retorno

El valor anterior mantenido por el indicador atómico apuntado por obj .

Referencias

  • Estándar C17 (ISO/IEC 9899:2018):
  • 7.17.8.1 Las funciones atomic_flag_test_and_set (p: 209)
  • Estándar C11 (ISO/IEC 9899:2011):
  • 7.17.8.1 Las funciones atomic_flag_test_and_set (p: 285-286)

Véase también

establece un atomic_flag a falso
(función)
Documentación de C++ para atomic_flag_test_and_set , atomic_flag_test_and_set_explicit