JavaRush /Java Blog /Random-ID /Volatile (contoh pada kuliah 17)
dimaMJ
Level 25
Craiova

Volatile (contoh pada kuliah 17)

Dipublikasikan di grup Random-ID
Secara umum ada contoh c pada kuliah 17 volatile, dikatakan jika suatu variabel isCanceltidak digunakan volatile, maka dengan mengubah nilai variabel tersebut dari thread lain, selebihnya tidak akan mengetahuinya, saya tulis ulang contohnya saja dalam metode ini runnama utas dan nilainya ditampilkan isCanceldan ternyata terlepas dari apakah variabel itu ada volatileatau tidak, nilainya tetap berubah untuk semua aliran, bahkan jika Anda mengetuknya, saya benar-benar bingung; jika saya menemukan sinkronisasinya, lalu saya volatilebingung dan tidak bisa menerapkannya dengan cara apa pun. Mungkin saya salah membuat contoh? Saya juga mencoba membuat kelas Clockdan mewarisi dari Thread, dan mainmembuat dua instance dan menjalankan keduanya, itu juga volatiletidak berhasil, bantu saya, kalau tidak saya akan gila) Volatile (contoh pada kuliah 17) - 1
public static void main(String[] args)
    {
       Clock n = new Clock();

        Thread thread1 = new Thread(n);
        Thread thread2 = new Thread(n);
        thread1.start();
        thread2.start();

        try
        {
            Thread.sleep(3000);
        }
        catch (InterruptedException e)
        {
            e.printStackTrace();
        }

        n.cancel();

    }

    public static class Clock implements Runnable
    {
        private volatile boolean isCancel = false;

        public void cancel()
        {
            this.isCancel = true;
        }

        @Override
        public void run()
        {
            while (true)
            {

                try
                {   System.out.println(Thread.currentThread().getName()+" "+isCancel);
                    Thread.sleep(2000);
                }
                catch (InterruptedException e)
                {
                    e.printStackTrace();
                }
            }
        }
    }
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION