¿Qué es un objeto?
Es una región de almacenamiento en la memoria. Es una secuencia de uno o varios bytes.
¿Qué es una posición de memoria?
Es un objeto de un tipo escalar (tipos simples de C++) o una secuencia de campos de bits adyacentes.
Campos de bits.
Indica cuántos bits se usan en cada campo. Cada campo es una posición de memoria independiente.
Reglas de concurrencia.
¿Qué son las operaciones atómicas?
Son operaciones que no tienen estados intermedios (operaciones indivisibles). Solo tienen posibilidad de estado inicial y final, por lo que pueden servir para prevenir las carreras de datos sin usar mutex. Permiten definir un orden de ejecución.
Orden de modificación.
Secuencia de escrituras sobre un objeto.
Uso del tipo atómico.
Tipo genérico atomic: para enteros, punteros y boool (no está definido para float y double). Tipo atomic_flag (asegura que la implementación es libre de cerrojos).
Uso de atomic_flag.
Consistencia secuencial.
Órdenes secuencialmente no consistentes.