本帖最后由 776699 于 2013-12-23 14:19 编辑
运行时:每次执行三个线程,main ,t1,t2,。但约束条件为main,所以当main中 的if条件num=60时,num++:为先赋值,后f加1;所以当num=61·时,flag才被设置为false,剩下两个线程为假,break 结束前,num=61;你可以syso测试一下。
fif (num++ == 60) {
st.changeFlag();//此时flag才被设置为false
break;
}
System.out.println(Thread.currentThread().getName() + "...." + num);
}
|