Java で volatile 変数のスレッドの安全性を確保する方法: 可視性: 1 つのスレッドによる volatile 変数への変更が他のスレッドに直ちに表示されるようにします。アトミック性: 揮発性変数に対する特定の操作 (書き込み、読み取り、交換の比較など) が分割不可能であり、他のスレッドによって中断できないことを保証します。
Volatile 変数は、変数が同時環境で確実に表示され、順序付けされるようにする Java 変数です。 volatile キーワードを使用して変数を変更すると、複数のスレッドが同じ変数を同時に変更することを防ぎ、スレッド セーフを実現できます。
変数を volatile として宣言するには、変数宣言の前に volatile キーワードを追加するだけです。
private volatile int counter;
Volatile 変数は、次のメカニズムによってスレッドセーフです。
次に、スレッド セーフを実現するために揮発性変数を使用する例を示します。
public class Counter { private volatile int count; public void increment() { count++; } public int getCount() { return count; } }
この例では、count
2 つのスレッドが同時に increment()
を呼び出したときに競合状態が発生しないように、変数を volatile として宣言します。スレッドが getCount()
を呼び出すと、揮発性変数によって可視性が保証されるため、更新された count
値が表示されます。
volatile 変数は、Java 関数でスレッド セーフを実現する簡単かつ効果的な方法です。 volatile キーワードを使用して変数を変更すると、変数への同時アクセスによるデータの不整合を防ぐことができます。
以上がJava 関数の volatile 変数のスレッド セーフを確保するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。