Speicherkonsistenz - Vorkommnisbeziehung in Java [duplizieren]

Diese Frage hat hier bereits eine Antwort:

Wie zu verstehen passiert, bevor konsequent 4 Antworten

Beim Lesen von Java-Dokumenten zu Speicherkonsistenzfehlern. Ich finde Punkte, die sich auf zwei Aktionen beziehen, die entstehen - vor der Beziehung:

Wenn eine Anweisung aufgerufen wirdThread.start()Jede Anweisung, die eine Beziehung vor dem Eintreten mit dieser Anweisung hat, hat auch eine Beziehung vor dem Eintreten mit jeder Anweisung, die vom neuen Thread ausgeführt wird. Die Auswirkungen des Codes, der zur Erstellung des neuen Threads geführt hat, sind für den neuen Thread sichtbar.

Wenn ein Thread beendet wird und aThread.join() In einem anderen Thread werden dann alle von dem abgebrochenen ausgeführten Anweisungen zurückgegeben
Thread haben eine Beziehung vor dem Passieren mit allen Anweisungen
Nach dem erfolgreichen Beitritt. Die Auswirkungen des Codes im Thread sind jetzt für den Thread sichtbar, der den Join ausgeführt hat.

Ich kann ihre Bedeutung nicht verstehen. Es wäre toll, wenn jemand es mit einem einfachen Beispiel erklären würde.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage