Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Definiciones de tipo de
hardware_constructive_interference_size
inline constexpr size_t hardware_constructive_interference_size = implementation-defined;
Comentarios
Este número es el tamaño máximo recomendado de memoria contigua ocupada por dos objetos a los que se accede con localidad temporal por subprocesos simultáneos. Debe ser alignof(max_align_t) como mínimo.
Ejemplo
struct together {
atomic<int> dog;
int puppy;
};
struct kennel {
// Other data members...
alignas(sizeof(together)) together pack;
// Other data members...
};
static_assert(sizeof(together) <= hardware_constructive_interference_size);
hardware_destructive_interference_size
inline constexpr size_t hardware_destructive_interference_size = implementation-defined;
Comentarios
Este número es el desplazamiento mínimo recomendado entre dos objetos a los que se accede simultáneamente para evitar la degradación del rendimiento debido a la contención introducida por la implementación. Debe ser alignof(max_align_t) como mínimo.
Ejemplo
struct keep_apart {
alignas(hardware_destructive_interference_size) atomic<int> cat;
alignas(hardware_destructive_interference_size) atomic<int> dog;
};
new_handler
El new_handler apunta a una función adecuada para su uso como new handler, una función que puede reclamar o liberar memoria.
typedef void (*new_handler)();
Comentarios
Cuando la función de este tipo se establece mediante std::set_new_handler, llama a operator new la función o operator new[] cuando no puede satisfacer una solicitud de más almacenamiento.
Ejemplo
Para obtener un ejemplo que usa new_handler como valor devuelto, vea set_new_handler.