Acasă Dezvoltare Ce este volatil? - definiție din techopedia

Ce este volatil? - definiție din techopedia

Cuprins:

Anonim

Definiție - Ce înseamnă Volatile?

Volatile este un cuvânt cheie din limbajul de programare java care specifică faptul că o variabilă de membru asociată unei clase poate fi modificată asincron prin mai multe fire. Cuvântul cheie volatil din cod acționează ca un modificator atunci când este declarat un membru. Cuvintele cheie sunt în mod fundamental cuvinte rezervate cu un sens distinct în contextul unui compilator.

Cuvântul cheie volatil este utilizat de fiecare dată când variabila semnifică un fel de variabilă care este dependentă de mediu sau de sistem, cum ar fi contoare și ceasuri simple.

Techopedia explică Volatile

Cuvântul cheie volatil asigură că fiecare acces de citire la o variabilă de membru returnează cea mai recentă valoare a acesteia. Acest lucru nu este eficient atunci când modificările recente sunt efectuate folosind un thread diferit. Dacă o variabilă de membru nu este declarată volatilă, un thread nu va putea recunoaște modificările aduse utilizând un thread diferit.

Pentru un membru dublu sau lung, cuvântul cheie volatil asigură, de asemenea, că mașina virtuală nu va genera două scrieri succesive pe 32 de biți, ci va crea în schimb un singur scriere pe 64 de biți. Dacă acest lucru nu este fezabil, implementarea JVM continuă să asigure atomicitatea acestei funcții pentru ca vechea jumătate inferioară să nu fie citită cu noua jumătate superioară a unor volatile duble sau lungi.

Scrie și citește volatil înființează o relație care se întâmplă înainte. Înainte de accesarea unui obiect volatil, are loc o sincronizare între memoria principală și variabilele din cache, la fel cum apare înainte de a intra sau după a părăsi un bloc sincronizat. Aceasta implică faptul că un obiect volatil poate fi publicat în siguranță fără sincronizare; adică atunci când un obiect volatil este accesat de un thread, membrii acelui obiect sunt, de asemenea, actualizați.

Când o variabilă este descrisă ca volatilă, compilatorul JVM și Java efectuează următoarele două lucruri.

  1. Compilatorul nu reușește să maximizeze enunțurile și expresiile legate de acea variabilă.
  2. JVM sincronizează variabila.

Avantajele volatilului sunt următoarele:

  • Este ușor
  • Acesta provoacă o foarte mare deasupra cititului și scrierii, dar este totuși mai rapid decât blocarea.
  • Volatilul este rezistent la încuietori moarte.
Ce este volatil? - definiție din techopedia