Kako implementirati hlapljive ključne riječi u Javi?



Java je jedno programiranje koje ima puno mogućnosti. U ovom ćemo članku istražiti jednu takvu značajku koja je hlapljiva ključna riječ u Javi.

jedan je program koji je obiluje mnoštvom značajki. U ovom ćemo članku istražiti jednu takvu značajku koja je hlapljiva ključna riječ u Javi. U ovom će članku biti obrađeni sljedeći smjerovi,

razlika između bacanja i bacanja java

Nastavljamo s ovim člankom o hlapljivoj ključnoj riječi na Javi.





Hlapljiva ključna riječ koristi se za izmjenu vrijednosti varijable različitim nitima. Također se koristi za izradu klasa bez niti. To znači da više niti može istodobno bez problema koristiti metodu i instancu klasa. Hlapljiva ključna riječ može se koristiti s primitivnim tipom ili objektima.

Primjer

test klase {static int var = 5}

U gornjem primjeru pretpostavimo da dvije niti rade na istoj klasi. Obje niti rade na različitim procesorima gdje svaka nit ima svoju lokalnu kopiju var. Ako bilo koja nit modificira svoju vrijednost, promjena se neće odraziti na izvornu u glavnoj memoriji. To dovodi do nedosljednosti podataka jer druga nit nije svjesna modificirane vrijednosti.



test klase {static volatile int var = 5}

U gornjem primjeru, statičke varijable su članovi klase koji se dijele između svih objekata. U glavnoj memoriji postoji samo jedna kopija. Vrijednost hlapljive varijable nikada se neće pohraniti u predmemoriju. Sva čitanja i pisanja obavljat će se iz i u glavnu memoriju.

Nastavljamo s ovim člankom o hlapljivoj ključnoj riječi na Javi.

Razlika između sinkronizacije i hlapljive ključne riječi

Hlapljiva ključna riječ nije zamjena za sinkroniziranu ključnu riječ, ali se u određenim slučajevima može koristiti kao alternativa. Postoje sljedeće razlike:



Hlapljiva ključna riječ Ključna riječ za sinkronizaciju
Volatile keyword je modifikator polja.Sinkronizirana ključna riječ mijenja blokove koda i metode.
Konac se ne može blokirati na čekanje u slučaju hlapljivosti.Niti se mogu blokirati na čekanje u slučaju sinkronizacije.
Poboljšava izvedbu niti.Sinkronizirane metode pogoršavaju izvedbu niti.
Sinkronizira vrijednost jedne po jedne varijable između memorije niti i glavne memorije.Sinkronizira vrijednost svih varijabli između memorije niti i glavne memorije.
Hlapljiva polja ne podliježu optimizaciji kompajlera.Sinkronizacija podliježe optimizaciji kompajlera.

Nastavljamo s ovim člankom o hlapljivoj ključnoj riječi na Javi.

Primjer:

javna klasa 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 ()} statička klasa ChangeListener proširuje nit {@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() } } } } } 

Slika- Isparljiva-Edureka

Tako smo došli do kraja ovog članka o 'Hlapljivoj ključnoj riječi u Javi'. Ako želite saznati više, pogledajte Java Training tvrtke Edureka, pouzdane tvrtke za internetsko učenje. Edureka tečaj je osmišljen kako bi vas osposobio za osnovne i napredne Java koncepte zajedno s raznim Java okvirima poput Hibernate & Spring.

Imate pitanje za nas? Molimo vas da ga spominjete u odjeljku za komentare ovog bloga i javit ćemo vam se što je prije moguće.