惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Y
Y Combinator Blog
GbyAI
GbyAI
爱范儿
爱范儿
H
Hackread – Cybersecurity News, Data Breaches, AI and More
C
Check Point Blog
M
MIT News - Artificial intelligence
量子位
宝玉的分享
宝玉的分享
MongoDB | Blog
MongoDB | Blog
V
Visual Studio Blog
罗磊的独立博客
F
Fortinet All Blogs
美团技术团队
博客园_首页
博客园 - 【当耐特】
L
LangChain Blog
月光博客
月光博客
腾讯CDC
The Cloudflare Blog
D
Docker
博客园 - 聂微东
Stack Overflow Blog
Stack Overflow Blog
WordPress大学
WordPress大学
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报

博客园 - 外科手术医生

AI带来学习的困惑,无法改变大脑学习的方式 一篇最近很火的文章,同时也是一个搬砖少年 国内经济指标关系 mac充当服务器使用 Spring-AI开发之旅 MACD秒解 历史的车轮 添加pdf的目录 spring ai提示词 纳瓦尔宝典-总结内容 小龙虾的skills哪里找? JMeter压测使用 Git仓库ssh不同环境配置 成功没有奇迹,只有积累----Bruce Lee 为什么要⽤ Foundry git命令下,mac环境下载依赖相关报错问题解决方案 数据分析/数据挖掘/机器学习---- 必读书目(转) 简单高效的语言 OSI模型-一图胜千言 dubbo分布式系统 JVM解剖 集合类 concurrent之CAS concurrent之volatile 架构师之路 责任链设计模式 Junit框架分析 线程详解 计划自己的时间
线程池
外科手术医生 · 2021-10-15 · via 博客园 - 外科手术医生

  阻塞队列(blockQueue)

线程池=银行网点

corePoolSize, 线程池常驻核心线程数  今日当值线程
maximumPoolSize, 最大线程数 (加班窗口)
keepAliveTime, 多余的空闲线程的存活时间
unit, 存活单位
workQueue, 阻塞队列 等候区 Executors.defaultThreadFactory(), 线程工厂 工作人员的制服
defaultHandler 拒绝策略

 线程池 maximumPoolSize,启用的时候,是在阻塞队列满了之后,线程数进行扩容,最大线程数也满了之后,会进到拒绝策略中

 线程池创建:

  Executors

  ThreadPoolExecutor

 线程配置:

  CPU密集型:cpu核数+1

  IO密集型:1.cpu核数*2

       2.线程数=cpu可用核心数/(1-阻塞系数)   阻塞系数:0.8-0.9

学到皮 学到骨 学到肉 学到筋 学到魂

死锁编码定位:

  是什么:两个或两个以上的线程在执行过程中,相互争夺资源而造成的一种相互等待的现象

  代码:

 new Thread(new HoldLockThread(lockA, lockB), "AAA").start();
        new Thread(new HoldLockThread(lockB, lockA), "BBB").start();

  解决:

   jps l 命令定位进程号

  jstack xx 找到死锁查看