问题描述
解决方案
首先flag是实例变量,程序在生成你的测试类的实例时,会为实例变量赋初始值,boolean类型的默认值为false,在上面的程序中flag的值为false,程序走else分支,然后遇到while语句,while语句的格式为while(boolean){statements},意思是先判断boolean的值,如果为true,执行statements,然后再判断boolean,直至boolean为false,否则一直执行statements,上面的代码就满足该判断,将一直执行,直至报错。
解决方案二:
while(true)如果里面没有条件跳出来,那就是死循环,
解决方案三:
因为while里面的条件一直都是真,没有改变所以是死循环
解决方案四:
private boolean flag // 第一个布尔类型 值: true 或者为 false 没有设定 初始值为false
if(flag) / /当flag 为false 进入while
while(true) // 则 不满足while条件 不进入 while
至于你说的死循环 我看不懂 都不满足 while 循环的条件 怎么会死循环呢? 你运行过这段代码吗?
解决方案五:
首先flag是实例变量,程序在生成你的测试类的实例时,会为实例变量赋初始值,boolean类型的默认值为false,在上面的程序中flag的值为false,程序走else分支,然后遇到while语句,while语句的格式为while(boolean){statements},意思是先判断boolean的值,如果为true,执行statements,然后再判断boolean,直至boolean为false,否则一直执行statements,上面的代码就满足该判断,将一直执行,直至报错。
解决方案六:
首先flag是实例变量,程序在生成你的测试类的实例时,会为实例变量赋初始值,boolean类型的默认值为false,在上面的程序中flag的值为false,程序走else分支,然后遇到while语句,while语句的格式为while(boolean){statements},意思是先判断boolean的值,如果为true,执行statements,然后再判断boolean,直至boolean为false,否则一直执行statements,上面的代码就满足该判断,将一直执行,直至报错。
解决方案七:
这个是验证的操作系统书上的线程同步问题吧? 不是wait和signal原语?