public class SemaphoreTest { //信号量,只允许 3个线程同时访问 ); public static void main(String[] args) { ExecutorService executorService = Executors.newCachedThreadPool(); ; i < ; i++) { final int num = i; executorService.submit(new Runnable() { @Override public
场景:一次迭代在灰度环境发版时,测试反馈说我开发的那个功能,查询接口有部分字段数据是空的,后续排查日志,发现日志如下: feign.RetryableException: cannot retry due to redirection, in streaming mode executing POST 下面是业务.环境和分析过程下面是业务.环境和分析过程: 接口的业务场景 :我这个接口类似是那种报表统计的接口,它会请求多个微服务,把请求到的数据,统一返回给前端,相当于设计模式中的门面模式了. 后
信号量 信号量类Semaphore,用来保护对唯一共享资源的访问.一个简单的打印队列,并发任务进行打印,加入信号量同时之能有一个线程进行打印任务 . import java.util.concurrent.Semaphore; public class PrintQueue { public PrintQueue() { semaphore = new Semaphore(1,true); } private final Semaphore semaphore; public void prin