memory_order (Enum)
Proporciona nombres simbólicos para las operaciones de sincronización en ubicaciones de memoria. Estas operaciones afectan a cómo las asignaciones de un subproceso se hacen visibles en otro.
typedef enum memory_order {
memory_order_relaxed,
memory_order_consume,
memory_order_acquire,
memory_order_release,
memory_order_acq_rel,
memory_order_seq_cst,
} memory_order;
Comentarios
memory_order_relaxed |
No se necesita ninguna ordenación. |
memory_order_consume |
Una operación de carga actúa como una operación de uso en la ubicación de memoria. |
memory_order_acquire |
Una operación de carga actúa como una operación de adquisición en la ubicación de memoria. |
memory_order_release |
Una operación de almacenamiento actúa como una operación de liberación en la ubicación de memoria. |
memory_order_acq_rel |
Combina memory_order_acquire y memory_order_release. |
memory_order_seq_cst |
Combina memory_order_acquire y memory_order_release. Los accesos a memoria marcados como memory_order_seq_cst debe ser secuencialmente coherentes. |
Requisitos
Encabezado: atomic
Espacio de nombres: std