前言 前两天和粉丝聊天的时候,粉丝问了我一个挺有意思的问题,说他之前在面试的时候被问到线程池的线程复用原理,当时我跟他简单的说了一下,没想到过了几天又来问我这个问题了,说他最近又被问到了这个问题.......想了想,干脆写篇文章把这个东西讲清楚吧,满满的干货都放在下面了 1.什么是线程复用 ...
所谓的线程池的 大参数是指,在使用 ThreadPoolExecutor 创建线程池时所设置的 个参数,如以下源码所示: 这 个参数分别是: corePoolSize:核心线程数。 maximumPoolSize:最大线程数。 keepAliveTime:空闲线程存活时间。 TimeUnit:时间单位。 BlockingQueue:线程池任务队列。 ThreadFactory:创建线程的工厂。 R ...
2022-03-09 10:30 0 2691 推荐指数:
前言 前两天和粉丝聊天的时候,粉丝问了我一个挺有意思的问题,说他之前在面试的时候被问到线程池的线程复用原理,当时我跟他简单的说了一下,没想到过了几天又来问我这个问题了,说他最近又被问到了这个问题.......想了想,干脆写篇文章把这个东西讲清楚吧,满满的干货都放在下面了 1.什么是线程复用 ...
你好呀,我是歪歪。 最近有个读者给我说,面试聊到线程池的时候,相谈甚欢,基本都回答上来了,但是其中有一个问题直接把他干懵逼了。 面试官问他:你说一下线程池里面的锁吧。 结果他关于线程池的知识点其实都是在各个博客或者面经里面看到的,没有自己去翻阅过源码,也就根本就没有注意过线程池里 ...
一、NSThread 1.简单说明 ①线程间通信:在1个进程中,线程往往不是孤立存在的,多个线程之间需要经常进行通信 ②线程间通信的体现 1个线程传递数据给另1个线程 在1个线程中执行完特定任务后,转到另1个线程继续执行任务 ③线程间通信常用方法 ...
前言:最近项目中与融360项目中接口对接,有反馈接口(也就是我们接收到请求,需要立即响应,并且还要有一个接口推送给他们其他计算结果),推送过程耗时、或者说两个接口不能是同时返回,有先后顺序。 这时我想到了把自己Controller立即返回接受成功,中间添加一个新的线程去做其他耗时的操作(线程池 ...
,每个线程有自己的工作内存 c.主内存主要包括:堆和方法区,主内存是所有线程共享的 d.工作内存主要包 ...
面试中非常高频的一个面试题:解释一下线程池中各个参数的含义。 这是一个非常常见但是却会卡死一大堆人的一道面试题,能够细致的了解线程池的各个参数的含义对我们学习线程池和使用线程池有着巨大的好处的。 首先我们来看一下线程池主要的参数: 参数名 参数 ...
聊到线程池就一定会聊到线程池的执行流程,也就是当有一个任务进入线程池之后,线程池是如何执行的?我们今天就来聊聊这个话题。线程池是如何执行的?线程池的拒绝策略有哪些? 线程池执行流程 想要真正的了解线程池的执行流程,就得先从线程池的执行方法 execute() 说起,execute() 实现源码 ...
阿里的面试官问了个问题,如果corePolllSize=10,MaxPollSize=20,如果来了25个线程 怎么办?答案:当一个任务通过execute(Runnable)方法欲添加到线程池时:1、如果此时线程池中的数量小于corePoolSize,即使线程池中的线程都处于空闲状态,也要创建新 ...