Spójność pamięci - dzieje się przed relacją w Javie [duplikat]
To pytanie ma już tutaj odpowiedź:
Jak to się dzieje, zanim się skończy 4 odpowiedziPodczas czytania dokumentów Java dotyczących błędów spójności pamięci. Znajduję punkty związane z dwoma działaniami, które powstają - przed relacją:
Kiedy wywołuje się oświadczenieThread.start()
, każda instrukcja, która ma relację zdarzenie-zdarzenie z tą instrukcją, ma także relację zdarzenie-zdarzenie z każdą instrukcją wykonaną przez nowy wątek. Efekty kodu, który doprowadził do utworzenia nowego wątku, są widoczne w nowym wątku.
Gdy wątek kończy się i powodujeThread.join()
w innym wątku do powrotu, a następnie wszystkie instrukcje wykonywane przez zakończone
wątek ma związek z wszystkimi stwierdzeniami
po udanym dołączeniu. Efekty kodu w wątku są teraz widoczne dla wątku, który wykonał połączenie.
Nie jestem w stanie zrozumieć ich znaczenia. Byłoby wspaniale, gdyby ktoś wyjaśnił to prostym przykładem.