package learn.thread;
/*
* volatile關鍵字,被volatile修飾的變量
*/
public class Demo8 extends Thread {
public volatile static boolean open = true;
public volatile static int num = 0;
// public boolean open = true;//不用volatile也可能可以停止,volatile的特性比較難測出
public Demo8(String name) {
super(name);
}
String name;
@Override
public void run() {
while (open) {
System.out.println("循環");
}
System.out.println("while循環停止");
System.out.println("num: " + num);
}
public static void main(String[] args) {
Demo8 t1 = new Demo8("A");
t1.start();
try {
Thread.sleep(10);
} catch (InterruptedException e) {
e.printStackTrace();
}
Demo8.open = false;
Demo8.num = 5;
}
}
// 循環
// 循環
// 循環
// 循環
// 循環
// 循環
// 循環
// 循環
// 循環
// 循環
// 循環
// 循環
// 循環
// 循環
// 循環
// 循環
// 循環
// 循環
// while循環停止
// num: 5
java多線程學習之volatile
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.