Com implementar una paraula clau volàtil a Java?



Java és una programació que compta amb moltes funcions. En aquest article explorarem una d'aquestes característiques que és una paraula clau volàtil a Java.

és una programació que compta amb moltes funcions. En aquest article explorarem una d'aquestes característiques que és una paraula clau volàtil a Java. En aquest article es tractaran les següents indicacions,

Continuem amb aquest article sobre Volatile Keyword a Java.





Una paraula clau volàtil s'utilitza per modificar el valor d'una variable per diferents fils. També s’utilitza per fer que les classes siguin segures per a fils. Vol dir que diversos fils poden utilitzar un mètode i una instància de les classes alhora sense cap problema. La paraula clau volàtil es pot utilitzar amb objectes o tipus primitiu.

Exemple

prova de classe {static int var = 5}

A l'exemple anterior, suposem que dos fils treballen a la mateixa classe. Tots dos fils s’executen en processadors diferents on cada fil té la seva còpia local de var. Si algun fil modifica el seu valor, el canvi no es reflectirà en l'original de la memòria principal. Condueix a incoherències de dades perquè l'altre fil no és conscient del valor modificat.



prova de classe {int volatile static var = 5}

A l'exemple anterior, les variables estàtiques són membres de classe que es comparteixen entre tots els objectes. Només hi ha una còpia a la memòria principal. El valor d'una variable volàtil mai s'emmagatzemarà a la memòria cau. Totes les lectures i escriptures es faran des de i cap a la memòria principal.

Continuem amb aquest article sobre Volatile Keyword a Java.

Diferència entre la sincronització i la paraula clau volàtil

La paraula clau volàtil no és un substitut de la paraula clau sincronitzada, però es pot utilitzar com a alternativa en determinats casos. Les diferències següents són les següents:



Paraula clau volàtil Paraula clau de sincronització
La paraula clau volàtil és un modificador de camp.La paraula clau sincronitzada modifica blocs i mètodes de codi.
El fil no es pot bloquejar per esperar en cas de volàtil.Els fils es poden bloquejar per esperar en cas de sincronització.
Millora el rendiment del fil.Els mètodes sincronitzats degraden el rendiment del fil.
Sincronitza el valor d'una variable a la vegada entre la memòria de fil i la memòria principal.Sincronitza el valor de totes les variables entre la memòria de fil i la memòria principal.
Els camps volàtils no estan subjectes a l'optimització del compilador.La sincronització està subjecta a l'optimització del compilador.

Continuem amb aquest article sobre Volatile Keyword a Java.

Exemple:

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 ()} classe estàtica ChangeListener amplia el fil {@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() } } } } } 

Imatge- Volàtil-Edureka

funció de potència a Java per a enters

Així hem arribat al final d’aquest article sobre ‘Paraula clau volàtil a Java’. Si voleu obtenir més informació, consulteu el programa Java Training d’Edureka, una empresa d’aprenentatge en línia de confiança. D’Edureka Curs està dissenyat per formar-vos tant per a conceptes bàsics com avançats de Java juntament amb diversos marcs Java com Hibernate & Spring.

Tens alguna pregunta? Si us plau, mencioneu-lo a la secció de comentaris d’aquest bloc i us respondrem el més aviat possible.