在看 ThreadPoolExecutor 源码时看到这么一段代码

retry:
for (;;) {int c = ctl.get();int rs = runStateOf(c);// Check if queue empty only if necessary.if (rs >= SHUTDOWN &&! (rs == SHUTDOWN &&firstTask == null &&! workQueue.isEmpty()))return false;for (;;) {int wc = workerCountOf(c);if (wc >= CAPACITY ||wc >= (core ? corePoolSize : maximumPoolSize))return false;if (compareAndIncrementWorkerCount(c))break retry;c = ctl.get();  // Re-read ctlif (runStateOf(c) != rs)continue retry;// else CAS failed due to workerCount change; retry inner loop
    }
}

break 和 continue 分开测试

retry:
for (;;) {System.out.println("A");for (;;) {System.out.println("B");break retry;}
}
System.out.println("End");

retry:
for (; ; ) {System.out.println("A");for (; ; ) {System.out.println("B");continue retry;}
}

会无限循环

总结

retry 并不是一个关键字,只是作为一个标记使用。并与最近的一个循环绑定,在使用 break 或 continue 时后面可加上该标记,就可指定对哪一层循环进行操作了

转载于:https://www.cnblogs.com/jhxxb/p/10830002.html

JAVA-retry 重试相关推荐

  1. java retry(重试) spring retry, guava retrying 详解

    转载 自 http://blog.51cto.com/9250070/2156431 系列说明 java retry 的一步步实现机制. java-retry 源码地址 情景导入 简单的需求 产品经理 ...

  2. foxmail邮件加载失败重试_java retry(重试) spring retry, guava retrying 详解

    系列说明 java retry 的一步步实现机制. java-retry 源码地址 情景导入 简单的需求 产品经理:实现一个按条件,查询用户信息的服务. 小明:好的.没问题. 代码 UserServi ...

  3. java retry: 详解

    java retry: 详解 发现 验证 结论 反编译验证结论 启发 扩展 发现 今天在探索线程池实现原理的时候,遇到一个重来没有见过的语法,通过网上查阅资料,自己也做了验证 验证 通过查阅资料,re ...

  4. retry重试常见场景及实现

    retry重试常见场景及实现 当我们的代码是有访问网络相关的操作时,比如http请求或者访问远程数据库,经常可能会发生一些错误,有些错误可能重新去发送请求就会成功,本文分析常见可能需要重试的场景,并最 ...

  5. java retry 设置上限_java-如何设置Spring Retry模板重试最大尝试次数:无限

    我想用Spring Retry修改数据库连接的创建,以便在应用程序启动时数据库关闭时再试一次.我不想限制重试次数.我应该如何配置策略来做到这一点. 我当前的代码(我知道在这种状态下它限制为100): ...

  6. Java之Retry重试机制详解

    应用中需要实现一个功能: 需要将数据上传到远程存储服务,同时在返回处理成功情况下做其他操作. 这个功能不复杂,分为两个步骤: 第一步:调用远程的Rest服务上传数据后对返回的结果进行处理: 第二步:拿 ...

  7. java 超时重试机制_Java之Retry重试机制详解

    应用中需要实现一个功能: 需要将 常规解决方案 try- 在包装正常上传逻辑基础上,通过判断返回结果或监听异常决定是否重试,同时为了解决立即重试的无效执行(假设异常是有外部执行不稳定导致的:网络抖动) ...

  8. java retry_Spring重试支持Spring Retry的方法

    本文介绍了Spring重试支持Spring Retry的方法,分享给大家,具体如下: 第一步.引入maven依赖 org.springframework.boot spring-boot-starte ...

  9. Spring Retry 重试机制实现及原理

    概要 Spring实现了一套重试机制,功能简单实用.Spring Retry是从Spring Batch独立出来的一个功能,已经广泛应用于Spring Batch,Spring Integration ...

  10. java retry 实现,java-retry实现

    有这样一个需求,当调用某个方法抛出异常,比如通过 HttpClient 调用远程接口时由于网络原因报 TimeOut 异常:或者所请求的接口返回类似于"处理中"这样的信息,需要重复 ...

最新文章

  1. ajax传值的url,JQuery ajax url传值与data传值的区别
  2. 经验 | Pytorch还是Tensorflow?英伟达工程师帮你总结了
  3. TCP/IP***原理分析总结
  4. 关于CAShapeLayer的一些实用案例和技巧
  5. Qt UDP 广播简单示例
  6. springboot介绍_Spring Boot 主类及目录结构介绍!
  7. mysql 修复错误连接_mysql 无法连接问题的定位和修复过程分享
  8. linux 查看vnc端口_VNC常用操作及常见问题解决办法汇总
  9. java学习——equals()和==的比较
  10. python安装pygame无法找到SDL.h文件
  11. 登录cookie html,cookie注册
  12. 求剁手的分享,如何简单开发js图表
  13. 20. 包含min函数的栈
  14. 云原生落地困挑战无处不在?我选Serverless
  15. 统计出每个班分别有男女生各多少名
  16. python访问服务器注册表,使用Python的Windows注册表访问(Winreg)
  17. DiskFileUpload上传文件并获取前端表单数据
  18. 初识HarmonyOS—小熊派BearPi-HM_Nano上手指南第二篇:源码获取
  19. icem合并面网格_ICEM CFD中合并多个网格
  20. 解决PHPstudy(PHP工具箱)中host文件无法保存的问题

热门文章

  1. CISCO交换机如何删除 Vlan
  2. 分享一个超棒的在线jQuery mobile原型设计开发工具 - codiqa
  3. 计院生活--第二章 深入虎穴(下)
  4. Pytorch 网络模型的保存与读取
  5. 汇编语言 字符串的复制
  6. Open ID Connect(OIDC)在 ASP.NET Core中的应用
  7. ssh命令、ping命令、traceroute 命令所使用的协议
  8. 访问Storm ui界面,出现Nimbus Summary或Supervisor Summary时有时无的问题解决(图文详解)...
  9. ASP.NET Core 菜鸟之路:从Startup.cs说起
  10. HBase 性能优化笔记