Las tiendas son operaciones de liberación y las cargas son operaciones de adquisición para ambas. Sé que memory_order_seq_cst
está destinado a imponer un pedido total adicional para todas las operaciones, pero no puedo construir un ejemplo donde no sea el caso si todos los memory_order_seq_cst
se reemplazan por memory_order_acq_rel
.¿Cómo se diferencian memory_order_seq_cst y memory_order_acq_rel?
¿Echo de menos algo, o la diferencia es solo un efecto de documentación, es decir, uno debe usar memory_order_seq_cst
si uno intenta no jugar con un modelo más relajado y usar memory_order_acq_rel
al restringir el modelo relajado?
No entiendo por qué 'x = true; y = true; c(); d()' no es posible? Eso debería causar que sea 0. Además, no sé por qué obtengo 2 tantos como los resultados. –
@ acidzombie24, incluso en ese caso, 'z' será 2. – MSN
Me equivoqué, leí mal el código. Eso tiene perfecto sentido ahora –