例如,我有一个像这样的非同步方法:
public void nonSynchronized(){
boolean flag = false;
if(/*some condition*/){
flag = true;
}
//more line of codes here
if(flag == true){
//do something here - let's say line 33.
}
}
如果第一个线程执行该方法然后将 设置flag
为true
,并且在执行第 33 行之前,另一个线程执行该方法然后将变量重置flag
为false
,那么第一个线程是否仍会执行第 33 行?