使用 Java Volatile 关键字 ,解决线程可读性的安全问题。
请使用 Java Volatile 关键字解决线程可读性问题。
定义一个静态变量,并使用 Volatile 关键字修饰,初始值为 false。
创建一个线程,在线程中获取该静态变量的值,当变量为 true 时跳出循环。
主线程中改变变量值为 true。
public class Test {
private static volatile boolean stop = false;
public static void main(String[] args) throws InterruptedException {
System.out.println("嗨客网(www.haicoder.net)\n");
new Thread(new Runnable() {
@Override
public void run() {
while(!stop){
}
System.out.println("循环结束,stop 为:" + stop);
}
}).start();
System.out.println("main 线程启动");
Thread.sleep(1000);
stop = true;
System.out.println("main 线程设置 stop 为:" + stop);
}
}
运行结果如下图:
以上案例使用 Volatile 关键字,解决线程可读性的安全问题。