2017.11.11 04:16 przykład, który pokazuje, po co w Javie jest volatile

Oto przykład, który pokazuje, po co w Javie jest volatile:
public class FikuMiku {
    private static boolean x = true;
    public static void main(String[] args) {
        new Thread(new Runnable() {
            @Override
            public void run() {
                try {
                    Thread.sleep(3000);
                    x = false;
                } catch (InterruptedException ex) {}
            }
        }).start();
        while (x) {}
        System.out.println("AAA!");
    }
}
Ten program uruchomiony na Javie 1.8.0_131 pod Windowsami nigdy nie kończy działania. Kiedy prze deklaracji pola x dopisać volatile - kończy.

komentarze:

ksywa:

tu wpisz cyfrę cztery: (to takie zabezpieczenie antyspamowe)

komentarze wulgarne albo co mi się nie spodobają będę kasował


powrot na strone glowna

RSS