关于多线程标志位,小弟不太明白
public void fun (){
boolean flag =false;
for (int x=0;x<50 ;x++ )
{
if (flag)
{
this.setName("mike");
this.setsex("man");
flag=false;
}
else
{
this.setName("丽丽丽丽");
this.setSex("女女女女女女女");
flag=true;
}
}
}
省略了一些函数,这个函数的的目的就是交替输出信息:
mike man 一次 丽丽丽丽 女女女女女女 一次
但是小弟搞不懂这个if(flag)里的flag 到底是false 还是true.
小弟是这么理解的:首先因为设置flag=false 所以if(flag)的flag也是false
那么就进入了 mike man 赋值操作 但是操作完之后为什么flag还是赋值false,那不就是说下次进来还是进入 mike man 的赋值操作,不会进入 丽丽丽丽 女女女女女女的副职操作了么?
不知道小弟这样理解有什么错误。求前辈指教啊,想了2天没想明白。