Kata kunci yang tidak menentu digunakan untuk mengubah suai pembolehubah untuk memastikan semua utas dapat melihat nilai terkini pembolehubah dan pengubahsuaian pembolehubah itu adalah operasi tanpa gangguan. Senario aplikasi utama termasuk pembolehubah kongsi berbilang benang, halangan memori dan pengaturcaraan serentak. Walau bagaimanapun, perlu diingatkan bahawa tidak menentu tidak menjamin keselamatan benang dan boleh mengurangkan prestasi Ia hanya boleh digunakan apabila benar-benar perlu. . pembolehubah, walaupun pembolehubah diubah suai oleh berbilang benang pada masa yang sama.
Atomicity: Pastikan pengubahsuaian pembolehubah adalah operasi tanpa gangguan dan tidak akan diganggu atau disusun semula. .
Pembolehubah kongsi berbilang benang: Apabila berbilang utas mengakses dan mengubah suai pembolehubah yang sama pada masa yang sama, menggunakan tidak menentu boleh memastikan konsistensi data antara utas.
Penghalang Memori:Anda perlu memberi perhatian kepada perkara berikut apabila menggunakan volatile:
volatile tidak menjamin keselamatan benang. Ia hanya memastikan keterlihatan dan atomicity. Untuk mencapai keselamatan benang, mekanisme penyegerakan lain juga diperlukan, seperti kunci atau kelas atom.
menentu boleh mengurangkan prestasi kerana ia menghalang pengkompil daripada membuat pengoptimuman tertentu kod. Oleh itu, tidak menentu hanya boleh digunakan apabila benar-benar perlu. volatile hanya boleh digunakan pada jenis asas (int, long, float, double, boolean), jenis rujukan dan tatasusunan.
Atas ialah kandungan terperinci Bagaimana untuk menggunakan volatile dalam java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!