Java >> Java tutorial >  >> Tag >> volatile

Er det rigtigt, at java-flygtige adgange ikke kan omarrangeres?

Hvad JLS siger (fra JLS-8.3.1.4. volatile Fields) er til dels, at

Java-programmeringssproget giver en anden mekanisme, volatile felter, det er mere praktisk end at låse til nogle formål.

Et felt kan erklæres volatile , i hvilket tilfælde Java-hukommelsesmodellen sikrer, at alle tråde ser en ensartet værdi for variablen (§17.4).

Hvilket betyder, at adgangen kan omarrangeres, men resultaterne af enhver genbestilling skal til sidst være konsistent (når den åbnes af en anden tråd) med den oprindelige rækkefølge. Et felt i en enkelt trådet applikation ville ikke behøve låsning (fra volatile eller synchronization ).


Java tag