java - que - jdialog example



¿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.





java-memory-model