Kaedah untuk memastikan keselamatan benang bagi pembolehubah tidak menentu di Jawa: Keterlihatan: Pastikan pengubahsuaian kepada pembolehubah tidak menentu oleh satu utas kelihatan serta-merta kepada utas lain. Atomicity: Memastikan bahawa operasi tertentu pada pembolehubah tidak menentu (seperti menulis, membaca dan membandingkan pertukaran) tidak boleh dibahagikan dan tidak boleh diganggu oleh urutan lain.
Pembolehubah meruap ialah pembolehubah Java yang memastikan pembolehubah kelihatan dan disusun dalam persekitaran serentak. Dengan menggunakan kata kunci yang tidak menentu untuk mengubah suai pembolehubah, anda boleh menghalang berbilang utas daripada menukar pembolehubah yang sama pada masa yang sama, dengan itu mencapai keselamatan utas.
Untuk mengisytiharkan pembolehubah sebagai tidak menentu, hanya mendahului pengisytiharan pembolehubah dengan kata kunci yang tidak menentu:
private volatile int counter;
pembolehubah yang tidak menentu selamat untuk benang melalui mekanisme berikut:
public class Counter { private volatile int count; public void increment() { count++; } public int getCount() { return count; } }Dalam contoh ini, nilai
adalah kerana pembolehubah tidak menentu menjamin keterlihatan. count
变量被声明为 volatile,以确保在两个线程同时调用 increment()
时不会发生竞争条件。当一个线程调用 getCount()
时,它会看到更新后的 count
Atas ialah kandungan terperinci Bagaimana untuk memastikan keselamatan benang pembolehubah tidak menentu dalam fungsi Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!