Hjem Udvikling Hvad er flygtigt? - definition fra techopedia

Hvad er flygtigt? - definition fra techopedia

Indholdsfortegnelse:

Anonim

Definition - Hvad betyder Flygtig?

Flygtig er et nøgleord i java-programmeringssproget, der specificerer, at en medlemsvariabel, der er tilknyttet en klasse, kan ændres asynkront af flere tråde. Det flygtige nøgleord i koden fungerer som en modifikator, når et medlem erklæres. Nøgleord er grundlæggende reserverede ord med en klar betydning i sammenhængen med en compiler.

Det flygtige nøgleord bruges, hver gang variablen betyder en slags variabel, der er afhængig af miljøet eller systemet, såsom enkle tællere og ure.

Techopedia forklarer Volatile

Det flygtige nøgleord sikrer, at hver læseadgang til en medlemsvariabel returnerer den seneste værdi af det. Dette er ikke effektivt, når de nylige ændringer udføres med en anden tråd. Hvis en medlemsvariabel ikke erklæres som flygtig, vil en tråd ikke være i stand til at genkende de ændringer, der er gjort til den ved hjælp af en anden tråd.

For et dobbelt eller langt medlem sikrer det flygtige nøgleord også, at den virtuelle maskine ikke genererer to på hinanden følgende 32-bit-skrivninger, men vil oprette kun en 64-bit-skrivning i stedet. Hvis dette ikke er muligt, fortsætter JVM-implementeringen med at sikre atomiciteten af ​​denne funktion, så den gamle nedre halvdel ikke læses med den nye højere halvdel af en eller anden flygtig dobbelt eller lang.

Flygtige skriver og læser oprette et happen-before-forhold. Inden der åbnes et flygtigt objekt, sker der en synkronisering mellem hovedhukommelsen og de cache-variabler, ligesom det forekommer inden indtastning eller efter at have forladt en synkroniseret blok. Dette indebærer, at et flygtigt objekt sikkert kan offentliggøres uden synkronisering; det vil sige, at når der er adgang til et flygtigt objekt med en tråd, opdateres medlemmerne af dette objekt også.

Når en variabel beskrives som flygtig, udfører JVM og Java-compiler følgende to ting.

  1. Compileren undlader at maksimere udsagn og udtryk relateret til denne variabel.
  2. JVM synkroniserer variablen.

Fordelene ved flygtige er som følger:

  • Det er let
  • Det får en meget lille overhead til at læse og skrive, men er stadig hurtigere end at låse.
  • Flygtig er resistent over for døde låse.
Hvad er flygtigt? - definition fra techopedia