线程池将线程区分为核心线程和非核心线程有什么用意呢?

线程池将线程区分为核心线程和非核心线程有什么用意呢?

老师,您先看我的理解对吗:

一个线程在加入线程池时,正在运行的线程数小于corePoolSize,那他加入进去就是核心线程;

一个线程在加入线程池时,正在运行的线程数大于等于corePoolSize且小于maxPoolSize,那他加入进去就是非核心线程。

1. 对吗?

2. 那么线程池为什么要把线程划分为这两种线程呢?这样区分有什么用途吗?

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

1.对的
2. 核心线程可以被设置成不销毁非核心的一定会销毁

  • 好的,那么,

    1. 一般需要长期执行的任务就先添加到线程池,使其成为核心线程;短期或不重要的任务就后添加到线程池,使其成为非核心线程,线程池一般是这样使用的吗?

    2. 虽然线程池会管理线程,但如果要强制销毁核心线程,为线程池腾出空间,应该怎样销毁呢?

    2021-11-02 10:46:56
  • 在创建线程池的时候有个参数coreTimeout,意思是指超过这个值没有需要执行的任务后,核心线程则会被销毁

    2021-11-02 12:57:41
  • Thank you~😀

    2021-11-05 14:20:11
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师