Java Language volatil


Exemple

Le modificateur volatile est utilisé dans la programmation multi-thread. Si vous déclarez un champ comme volatile cela signifie aux threads qu'ils doivent lire la valeur la plus récente, et non celle mise en cache localement. De plus, volatile lectures et écritures volatile sont garanties atomiques (l'accès à un long ou double non volatile n'est pas atomique), évitant ainsi certaines erreurs de lecture / écriture entre plusieurs threads.

public class MyRunnable implements Runnable
{
    private volatile boolean active;
 
    public void run(){ // run is called in one thread 
        active = true;
        while (active){
            // some code here
        }
    }
    
    public void stop(){ // stop() is called from another thread
        active = false;
    }
}