线程池源码中retry的理解
程序员文章站
2022-05-02 11:41:13
...
线程池执行源码中有retry这个,本以为是关键字,查了一番发现和goto有点类似,这是个用法,用于标记跳出循环的。且这个标记名称可以随便起名字。只需要名字后面加上冒号就行
测试:跳出两层循环
public static void main(String[] args) {
con:
for(int i=0;i<3;i++){
for(int j=0;j<5;j++){
if(j==3){
break con ;
}
System.out.print(j+",");
}
}
}
执行结果
0,1,2,
测试:跳出当前循环
public static void main(String[] args) {
con:
for(int i=0;i<3;i++){
for(int j=0;j<5;j++){
if(j==3){
continue con ;
}
System.out.print(j+",");
}
}
}
执行结果:
0,1,2,0,1,2,0,1,2,
总结:用于标记循环跳出处理,使用时后面紧跟循环即可
推荐阅读
-
如何优雅的使用和理解线程池
-
解析C#多线程编程中异步多线程的实现及线程池的使用
-
深入理解Java线程编程中的阻塞队列容器
-
使用concurrent.futures模块中的线程池与进程池
-
带你一步步从源码角度深入理解Java线程池(简单易懂)
-
JDK中的线程池(ThreadPoolExecutor) jdkthreadpool
-
python中socket、进程、线程、协程、池的创建方式和应用场景
-
Java中的线程池
-
荐 Java中多线程的使用(超级超级详细)线程安全+线程锁原理解析+保证线程安全的三种方式 (同步代码块+同步方法+lock锁) 5
-
【春华秋实】深入源码理解.NET Core中Startup的注册及运行