Java 多线程访问静态变量

Har*_*ris 4 java static multithreading

如何同时从多个线程访问静态变量。

如果我有一个类

Class A {
    public static boolean FLG=false;
    .....................
    ....................
}
Run Code Online (Sandbox Code Playgroud)

我需要从线程 1 中访问值,例如

....................
public void run() {
    boolean t1=A.FLG;
    ..................
}
Run Code Online (Sandbox Code Playgroud)

从线程 2 我需要设置值

....................
public void run() {
    A.FLG=true;
    ..................
}
Run Code Online (Sandbox Code Playgroud)

这会导致内存冲突吗?。如果是这样,处理这种情况的推荐方法是什么?

Pet*_*rey 5

如果您想要做的只是获取和设置一个原语,您可以创建它,volatile并且对于这些操作来说它将是线程安全的。