![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
线程
文章平均质量分 86
My_Way666
This day-by-day
展开
-
四种线程池拒绝策略
一、前言线程池,相信很多人都有用过,没用过相信的也有学习过。但是,线程池的拒绝策略,相信知道的人会少许多。二、四种线程池拒绝策略当线程池的任务缓存队列已满并且线程池中的线程数目达到maximumPoolSize时,如果还有任务到来就会采取任务拒绝策略,通常有以下四种策略:ThreadPoolExecutor.AbortPolicy:丢弃任务并抛出RejectedExecutionException异常。ThreadPoolExecutor.DiscardPolicy:丢弃任务,但是转载 2021-01-14 10:45:01 · 1313 阅读 · 0 评论 -
CompletableFuture get方法一直阻塞或抛出TimeoutException
问题描述最近刚刚上线的服务突然抛出大量的TimeoutException,查询后发现是使用了CompletableFuture,并且在执行future.get(5, TimeUnit.SECONDS);时抛出了TimeoutException异常,导致接口响应很慢进而影响了其他系统的调用。问题分析首先我们知道CompletableFuture的get()方法值会阻塞主线程,直到子线程执行任务完成返回结果才会取消阻塞。如果子线程一直不返回接口那么主线程就会一直阻塞,所以我们一般不建议直接使用Com转载 2021-01-13 14:27:55 · 4064 阅读 · 0 评论 -
CompletableFuture 使用详解
1、 runAsync 和 supplyAsync方法CompletableFuture 提供了四个静态方法来创建一个异步操作。public static CompletableFuture<Void> runAsync(Runnable runnable)public static CompletableFuture<Void> runAsync(Runnable runnable, Executor executor)public static <U&g.转载 2021-01-13 14:24:45 · 233 阅读 · 0 评论 -
JFR定位由于可能的JDK11的bug导致Log4j2 CPU占用100%的问题
本文基于OpenJDK 11 最近使用Spring Cloud Gateway的时候,遇到了一个奇怪的问题: 线上有3个 API 网关实例,压力均衡,平稳运行3天后,突然有一个实例,CPU飚高,并且响应时间增加很多,从几十毫秒涨到了几分钟。 线上是 k8s 管理容器,立刻停掉了这个 pod,重建,恢复正常。 线上我们开启了 JFR 记录(可以参考我的另外系列文章:Java 监控 JFR),通过 JMC 查看下出问题的 JFR 记录。 首先...转载 2020-12-08 10:53:22 · 222 阅读 · 0 评论 -
为什么阿里巴巴要禁用Executors创建线程池?
<h4>小Hub领读:</h4><p>不用Executors,该用什么?你知道吗?</p><hr><blockquote><p>作者:何甜甜在吗</p><p>https://juejin.im/p...转载 2020-08-28 14:54:22 · 122 阅读 · 0 评论 -
线程池的三种队列区别:SynchronousQueue、LinkedBlockingQueue 和ArrayBlockingQueue
使用方法:1.SynchronousQueueprivate static ExecutorService cachedThreadPool = new ThreadPoolExecuto...转载 2020-04-16 17:32:55 · 344 阅读 · 1 评论 -
线程池设置合理大小公式
连接池数量 = ((核心数 * 2) + 有效磁盘数)具体分析文章原文地址原创 2020-01-17 15:31:27 · 711 阅读 · 0 评论 -
Java并发:Callable与Future的应用 多线程查询
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 ...转载 2019-08-27 14:23:53 · 298 阅读 · 0 评论 -
线程和本地缓存
线程import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;ExecutorService fixedThreadPool = Executors.newFixedThreadPool(5);fixedThreadPool.execute(new Runnable() { ...原创 2019-04-03 14:44:27 · 647 阅读 · 0 评论 -
利用Redis实现异步消息队列优化系统性能 (Redis高级应用)
版权声明:如需转载,请注明出处 https://blog.csdn.net/whdxjbw/article/details/81706967 </div> <link rel="stylesheet" href="https:...转载 2019-03-19 20:55:53 · 279 阅读 · 0 评论 -
深入理解Semaphore(信号量)
自己代码 private static Map<String,Semaphore> semaphoreMap = new ConcurrentHashMap<>(); public BaseResult updateGoldByGoldenType(GoldenUpdateGoldTypeDTO dto) { String token = get...转载 2019-01-23 14:16:27 · 378 阅读 · 0 评论 -
线程池Executors.newFixedThreadPool
转载至::。 https://blog.csdn.net/bobo8945510/article/details/52135076 Sun在Java5中,对Java线程的类库做了大量的扩展,其中线程池就是Java5的新特征之一,除了线程池之外,还有很多多线程相关的内容,为多线程的编程带来了极大便利...转载 2018-11-12 10:15:29 · 1842 阅读 · 0 评论