example - gui java que es
¿Cuáles son las similitudes entre el modelo de memoria Java y el modelo de memoria C++ 11? (1)
El modelo de memoria de Java fue una influencia importante en el modelo de memoria C ++ 11, y fue donde obtuvimos los términos que pasa, antes y sincroniza, con from. Sin embargo, el modelo de memoria C ++ 11 ofrece un control mucho más preciso sobre el ordenamiento de la memoria que el modelo de memoria de Java.
Las variables volatile
Java son equivalentes a las variables de C ++ 11 std::atomic<>
, si utiliza std::memory_order_acquire
ordenamiento de memoria para lecturas, std::memory_order_release
ordering para escrituras, y std::memory_order_acq_rel
ordenando operaciones RMW.
No hay equivalente en Java a std::memory_order_relaxed
, o std::memory_order_seq_cst
.
El nuevo estándar de C ++ introduce la noción de un modelo de memoria. Ya había preguntas sobre SO al respecto, qué significa, cómo cambia la forma en que escribimos el código en c ++ y demás.
Me interesa saber cómo se relaciona el modelo de memoria C ++ con el modelo de memoria Java más antiguo y conocido (1.5). ¿Es lo mismo? Es similar? ¿Tienen alguna diferencia significativa? Si es así, ¿por qué?
El modelo de memoria java ha existido desde hace mucho tiempo y mucha gente lo sabe bastante bien, así que supongo que podría ser útil, no solo para mí, aprender el modelo de memoria C ++, comparándolo con el de Java.