Как да приложим летлива ключова дума в Java?



Java е едно програмиране, което е благословено с много функции. В тази статия ще проучим една такава функция, която е волатилна ключова дума в Java.

е едно програмиране, което е благословено с много функции. В тази статия ще проучим една такава функция, която е волатилна ключова дума в Java. Следните указания ще бъдат обхванати в тази статия,

Продължавайки с тази статия за Volatile Keyword в Java.





Волатилна ключова дума се използва за промяна на стойността на променлива от различни нишки. Също така се използва за направа на класове, безопасни за нишки. Това означава, че множество нишки могат да използват метод и екземпляр на класовете едновременно без никакъв проблем. Волатилната ключова дума може да се използва или с примитивен тип, или с обекти.

как да инсталирам php 7

Пример

тест на класа {static int var = 5}

В горния пример, приемете, че две нишки работят върху един и същи клас. И двете нишки се изпълняват на различни процесори, където всяка нишка има локално копие на var. Ако някоя нишка модифицира стойността си, промяната няма да се отрази в оригиналната в основната памет. Това води до несъответствие на данните, тъй като другата нишка не е наясно с променената стойност.



тест на класа {static volatile int var = 5}

В горния пример статичните променливи са членове на класа, които се споделят между всички обекти. В основната памет има само едно копие. Стойността на променлива променлива никога няма да се съхранява в кеша. Всички четене и запис ще се извършват от и към основната памет.

Продължавайки с тази статия за Volatile Keyword в Java.

метод tostring () java

Разлика между синхронизация и променлива ключова дума

Volatile ключова дума не е заместител на синхронизирана ключова дума, но може да се използва като алтернатива в определени случаи. Има следните разлики, както следва:



Волатилна ключова дума Ключова дума за синхронизиране
Volatile ключова дума е модификатор на поле.Синхронизираната ключова дума модифицира кодови блокове и методи.
Нишката не може да бъде блокирана за изчакване в случай на нестабилност.Нишките могат да бъдат блокирани за изчакване в случай на синхронизиране.
Подобрява производителността на нишките.Синхронизираните методи влошават производителността на нишката.
Той синхронизира стойността на една променлива в даден момент между нишката памет и основната памет.Той синхронизира стойността на всички променливи между паметта на нишката и основната памет.
Летливите полета не подлежат на оптимизация на компилатора.Синхронизирането подлежи на оптимизация на компилатора.

Продължавайки с тази статия за Volatile Keyword в Java.

Пример:

goto команда c ++
публичен клас 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 ()} статичен клас ChangeListener разширява нишката {@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() } } } } } 

Изображение- Летливи-Edureka

По този начин стигнахме до края на тази статия за „Волатилна ключова дума в Java“. Ако искате да научите повече, разгледайте Java Training от Edureka, доверена компания за онлайн обучение. Edureka’s Курсът е предназначен да ви обучи както за основните, така и за разширените Java концепции, заедно с различни Java рамки като Hibernate & Spring.

Имате въпрос към нас? Моля, споменете го в раздела за коментари на този блог и ние ще се свържем с вас възможно най-скоро.