Hvordan implementere flyktige søkeord i Java?



Java er en programmering som er velsignet med mange funksjoner. I denne artikkelen vil vi utforske en slik funksjon som er ustabilt søkeord i Java.

er en programmering som er velsignet med mange funksjoner. I denne artikkelen vil vi utforske en slik funksjon som er ustabilt søkeord i Java. Følgende tips vil bli dekket i denne artikkelen,

Fortsetter med denne artikkelen om Volatile Keyword in Java.





hva er hashset i java

Et ustabilt nøkkelord brukes til å endre verdien på en variabel med forskjellige tråder. Det brukes også til å gjøre klasser trådsikre. Det betyr at flere tråder kan bruke en metode og forekomst av klassene samtidig uten problemer. Det flyktige nøkkelordet kan brukes enten med primitiv type eller objekter.

Eksempel

klassetest {statisk int var = 5}

I eksemplet ovenfor antar du at to tråder jobber med samme klasse. Begge trådene kjøres på forskjellige prosessorer der hver tråd har sin lokale kopi av var. Hvis en tråd endrer verdien, gjenspeiles ikke endringen i den opprinnelige i hovedminnet. Det fører til datainkonsistens fordi den andre tråden ikke er klar over den modifiserte verdien.



klassetest {statisk flyktig int var = 5}

I eksemplet ovenfor er statiske variabler klassemedlemmer som deles mellom alle objekter. Det er bare en kopi i hovedminnet. Verdien til en ustabil variabel vil aldri bli lagret i hurtigbufferen. All lese og skrive vil bli gjort fra og til hovedminnet.

Fortsetter med denne artikkelen om Volatile Keyword in Java.

Forskjellen mellom synkronisering og flyktig nøkkelord

Flyktige nøkkelord er ikke en erstatning for synkronisert nøkkelord, men det kan i visse tilfeller brukes som et alternativ. Det er følgende forskjeller er som følger:



forskjellen mellom smidig og devops
Flyktige nøkkelord Synkroniseringsnøkkelord
Flyktige nøkkelord er en feltmodifikator.Synkronisert nøkkelord endrer kodeblokker og metoder.
Tråden kan ikke blokkeres for venting i tilfelle flyktig.Tråder kan blokkeres for venting i tilfelle synkronisert.
Det forbedrer trådytelsen.Synkroniserte metoder forringer trådytelsen.
Den synkroniserer verdien av en variabel om gangen mellom trådminne og hovedminne.Den synkroniserer verdien av alle variablene mellom trådminne og hovedminne.
Flyktige felt er ikke gjenstand for optimalisering av kompilatoren.Synkronisering er underlagt optimalisering av kompilatoren.

Fortsetter med denne artikkelen om Volatile Keyword in Java.

Eksempel:

public class VolatileTest {private static final Logger LOGGER = MyLoggerFactory.getSimplestLogger () private static volatile int MY_INT = 0 public static void main (String [] args) {new ChangeListener (). start () new ChangeMaker (). start ()} statisk klasse ChangeListener utvider tråden {@Override public void run () {int local_value = MY_INT while (local_value<5){ if( local_value!= MY_INT){ LOGGER.log(Level.INFO,'Got Change for MY_INT : {0}', MY_INT) local_value= MY_INT } } } } static class ChangeMaker extends Thread{ @Override public void run() { int local_value = MY_INT while (MY_INT <5){ LOGGER.log(Level.INFO, 'Incrementing MY_INT to {0}', local_value+1) MY_INT = ++local_value try { Thread.sleep(500) } catch (InterruptedException e) { e.printStackTrace() } } } } } 

Image- Volatile-Edureka

Dermed har vi kommet til en slutt på denne artikkelen om ‘Volatile Keyword in Java’. Hvis du ønsker å lære mer, kan du sjekke Java Training av Edureka, et pålitelig online læringsfirma. Edureka’s kurset er designet for å trene deg for både kjerne- og avanserte Java-konsepter sammen med forskjellige Java-rammer som Hibernate & Spring.

Har du et spørsmål til oss? Vennligst nevn det i kommentarfeltet på denne bloggen, så kommer vi tilbake til deg så snart som mulig.

hvordan du bruker python anaconda