今天了解到线程池的七大核心参数包括:
1. 核心线程数(corePoolSize):线程池中能够同时执行的线程数量。
2. 最大线程数(maximumPoolSize):线程池中允许的最大线程数量。
3. 线程空闲时间(keepAliveTime):当线程池中的线程数量超过核心线程数时,空闲线程在被回收之前等待新任务的最长时间。
4. 时间单位(unit):线程空闲时间的单位,可以是秒、毫秒等。
5. 任务队列(workQueue):用于存放还未被执行的任务的队列,一般使用阻塞队列实现。
6. 线程工厂(threadFactory):用于创建新线程的工厂类,一般使用默认的ThreadFactory即可。
7. 拒绝策略(handler):当线程池已满并且队列也已满时,对新任务的处理策略,可以是抛出异常、丢弃任务等。
几种常见的拒绝策略:
1. 直接拒绝:明确表达自己的不同意或不愿意接受对方的请求或建议。例如:“很抱歉,我不能帮你完成这个任务。”
2. 委婉拒绝:用较为委婉的措辞表达自己的不同意或不愿意接受对方的请求或建议。例如:“很抱歉,我目前已经有其他重要的事情要处理,不能参与这个项目。”
3. 转移责任:将自己无法接受对方请求的原因归咎于其他因素或人。例如:“我很想帮你,但是我已经答应了别人帮忙做事情,所以没有时间参与你的活动。”
4. 提供替代方案:虽然无法接受对方的请求,但提供一个替代方案,以表达自己对对方的帮助,例如:“虽然我不能陪你去购物,但我可以告诉你哪个商场有更好的折扣活动。”
5. 拖延回答:暂时不作明确答复,给自己时间思考或考虑其他因素。例如:“这个事情有点复杂,我需要一些时间来考虑一下,待会再给你答复。”