volatile 的问题
public class Init {
static volatile boolean done = false;
static {
new Thread() {
public void run() {
System.out.println("enter thread");
done = true;
}
}.start();
while (!done)
;
}
public static void main(String[] args) {
System.out.println("Finished");
}
}
为什么字段加了volatile修饰符,while(!done)还会死循环啊?
请指教