在看Java线程池源码时,在ThreadPoolExecutor中看到如下代码:
for (;;) 这是一个死循环,这个我们都知道,
retry:第一次见,所以研究了一下,其实就是一种标记写法,和循环一起使用,用于控制代码逻辑
我们知道在写循环的时候,有3个关键字:continue,break,return控制循环的逻辑
continue:跳出本轮循环进入下轮循环,示例如下:
可以看出,continue跳出了j=3的循环,继续j=4的循环
break:直接结束循环,示例如下:
可以看出,break直接结束了内层循环
return:直接退出多层循环,示例如下:
retry:这是一种标记法,retry不是关键字,随便一个名字,符合Java变量规范就可以,结合continue,break关键字更灵活的控制循环逻辑
retry:结合continue,继续从retry标记处开始执行
retry:结合break,从retry标记处中断循环