volatile
關鍵字package test;
public class TestThread extends Thread{
private volatile boolean stop=false;
@Override
public void run() {
int i=0;
while(!stop){
i++;
}
System.out.println("完成="+i);
}
public void setStop(){
stop=true;
}
public boolean getStop(){
return stop;
}
}
volatile關鍵字只能保證多個線程間的可見性,但是不具備同步性,可以算得上是輕量級的
synchronized,性能要比synchronized高,不會造成阻塞。一般volatile用于多個線程之間的可見的變量操作,并不能代替synchronized的同步功能。