new threadpoolexecutor参数
ThreadPoolExecutor是Java 的一个Executor框架中的一个线程池类,它支持在后台执行多个任务,通过线程池方式来管理线程以及它们的数量。ThreadPoolExecutor可以用来管理所有线程,包括创建、调度和释放线程。在JDK1.5中引入了ThreadPoolExecutor后,JDK提供了一个更加强大、灵活的线程池类机制,可以更好地支持多线程编程,为开发人员提供了更多丰富的线程控制。
1.corePoolSize:线程池的基本大小,表示线程池中核心线程的数量,也就是最小线程数。如果创建的线程池中的任务数小于核心线程数,就会一直创建新的线程直到达到核心线程数。
3.keepAliveTime:线程池中的线程超过 corePoolSize 的部分的空闲线程能够保留的最长时间,单位为 TimeUnit。换句话说,当线程池中的线程数量大于 corePoolSize 的时候,就要开始考虑如何回收空闲线程了。keepAliveTime 的时间到了,就会判断当前线程池中的线程数是否超过了 corePoolSize,如果是,就会退掉这些线程。java线程池创建的四种
4.workQueue:任务队列,存放需要处理的任务的阻塞队列,当线程池中的所有线程都已经被占用时,后续的任务都会放到该队列中等待被处理。常用的队列有:ArrayBlockingQueue、LinkedBlockingQueue、SynchronousQueue、PriorityBlockingQueue。
ThreadPoolExecutor类的构造函数还有两个可选参数:
1.threadFactory:线程工厂,用来创建线程。
2.handler:饱和策略,当任务队列满了之后如何处理新任务,可以选择抛弃、抛出异常、替换掉队列中的任务,或者在将任务提交给线程池之前阻塞、让调用者自己执行任务。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论