Saltar al contenido

¿Qué son los tipos atómicos en el lenguaje C?

Si encuentras algún problema con tu código o proyecto, recuerda probar siempre en un ambiente de testing antes aplicar el código al proyecto final.

Solución:

Los tipos atómicos son aquellos para los que se garantiza que la lectura y la escritura sucederán en una sola instrucción. Más explicación de gnu.org:

24.4.7.2 Tipos atómicos

Para evitar la incertidumbre sobre la interrupción del acceso a una variable, puede usar un tipo de datos particular para el cual el acceso sea siempre atómico:
sig_atomic_t. Se garantiza que la lectura y escritura de este tipo de datos ocurra en una sola instrucción, por lo que no hay forma de que un controlador se ejecute “en medio” de un acceso.

El tipo sig_atomic_t es siempre un tipo de datos entero, pero cuál es y cuántos bits contiene, puede variar de una máquina a otra.

Tipo de datos: sig_atomic_t

Este es un tipo de datos entero. A los objetos de este tipo siempre se accede de forma atómica.

En la práctica, puede suponer que int es atómico. También puede suponer que los tipos de punteros son atómicos; eso es muy conveniente. Ambos supuestos son true en todas las máquinas compatibles con GNU C Library y en todos los sistemas POSIX que conocemos.

Para obtener aún más detalles y algunas cosas específicas de C11, consulte CppReference.com (sin afiliación).

valoraciones y comentarios

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *