Articles of volátil

Trabajo de __asm__ __volatile__ (“”::: “memoria”)

¿Qué hace básicamente __asm__ __volatile__ () y qué significa la “memory” para la architecture ARM?

¿Por qué se usa el calificador volátil a través de std :: atomic?

Por lo que he leído de Herb Sutter y otros , pensarías que la progtwigción volatile y concurrente eran conceptos completamente ortogonales, al menos en lo que se refiere a C / C ++. Sin embargo, en la implementación de GCC todas las funciones miembro de std::atomic tienen el calificador volatile . Lo mismo es […]

¿Las ‘lecturas’ variables volátiles son tan rápidas como las lecturas normales?

Sé que escribir en una variable volatile vacía de la memoria de todas las CPU, sin embargo, quiero saber si las lecturas a una variable volátil son tan rápidas como las lecturas normales. ¿Pueden volatile variables volatile colocarse alguna vez en la memoria caché de la CPU o siempre se extraen de la memoria principal?

Garantías volátiles y ejecución fuera de orden

EDITAR IMPORTANTE Sé sobre el “sucede antes” en el hilo donde están ocurriendo las dos asignaciones; mi pregunta es si otro hilo estaría leyendo “b” no nulo mientras que “a” sigue siendo nulo. Así que sé que si llama a doIt () desde el mismo hilo que el que llamó previamente a setBothNonNull (…), entonces […]

Ejemplo más simple y comprensible de palabra clave volátil en Java

Estoy leyendo sobre palabras clave volátiles en Java y entiendo completamente la parte de la teoría. Pero, lo que estoy buscando es un buen ejemplo de caso, que muestra lo que sucedería si la variable no fuera volátil y si lo fuera. El siguiente fragmento de código no funciona como se esperaba ( de aioobe […]

¿Para qué se usa la palabra clave “volátil”?

Leí algunos artículos sobre la palabra clave volatile pero no pude entender su uso correcto. ¿Podrías decirme por qué debería usarse en C # y en Java?

Volatile Vs Atomic

Leo en algún lugar debajo de la línea. La palabra clave volátil de Java no significa atómica, es un concepto erróneo común de que después de declarar la operación volátil, ++ será atómica, para que la operación sea atómica aún necesita garantizar el acceso exclusivo mediante el uso de synchronized método o bloque synchronized en […]

¿Interlocked.CompareExchange usa una barrera de memoria?

Estoy leyendo la publicación de Joe Duffy sobre lecturas y escrituras volátiles, y la puntualidad , y estoy tratando de comprender algo sobre la última muestra de código en la publicación: while (Interlocked.CompareExchange(ref m_state, 1, 0) != 0) ; m_state = 0; while (Interlocked.CompareExchange(ref m_state, 1, 0) != 0) ; m_state = 0; … Cuando […]

¿Qué tipo de optimizaciones previene ‘volátil’ en C ++?

Estaba buscando la palabra clave volatile y para qué sirve, y la respuesta que obtuve fue más o menos: Se usa para evitar que el comstackdor optimice el código ausente. Hubo algunos ejemplos, como cuando se sondeó el hardware mapeado en memoria: sin volatile el ciclo de sondeo se eliminaría ya que el comstackdor podría […]

¿Es un int volatile en Java thread-safe?

¿Es un int volatile en Java thread-safe? Es decir, ¿se puede leer y escribir de forma segura sin locking?