Cómo entender que sucede antes de ser consistente

Encapitulo 17 de JLS, introduce un concepto: pasa-antes es consistente.

Un conjunto de acciones A sucede antes de que sea consistente si para todas las lecturas r en A, donde W (r) es la acción de escritura vista por r, no es el caso que hb (r, W (r)) o que haya existe una escritura w en A tal que wv = rv y hb (W (r), w) y hb (w, r) "

A mi entender, es igual a las siguientes palabras: ..., es el caso de que ni ... ni ...

Así que mis dos primeras preguntas son:

es mi entendimiento correcto?¿Qué significa "w.v = r.v"?

También da un ejemplo: 17.4.5-1

Thread 1 Thread 2

B = 1; A = 2; 

r2 = A; r1 = B; 

En primer orden de ejecución:

1: B = 1;

3: A = 2;

2: r2 = A;  // sees initial write of 0

4: r1 = B;  // sees initial write of 0

La orden en sí ya nos ha dicho que dos subprocesos se ejecutan alternativamente, por lo que mi tercera pregunta es: ¿qué significa el número de la izquierda?

En mi entendimiento, la razón de que tanto r2 como r1 puedan ver que la escritura inicial de 0 es que A y B no son campos volátiles. Así que mi cuarta pregunta es: ¿si mi comprensión es correcta?

En segundo orden de ejecución:

1: r2 = A;  // sees write of A = 2

3: r1 = B;  // sees write of B = 1

2: B = 1;

4: A = 2;

De acuerdo con la definición de coherencia de suceso-antes, no es difícil entender que este orden de ejecución es suceso -debien sea consistente (si mi primera comprensión es correcta). Entonces, mi quinta y sexta pregunta son: ¿existe esta situación (lee, lee las escrituras que ocurren más adelante) en el mundo real? Si lo hace, ¿podría darme un ejemplo real?

Respuestas a la pregunta(4)

Su respuesta a la pregunta