1.线程池概念
线程池的七个参数:
- corePoolSize:核心线程数。线程池中始终保持的线程数量,即使它们处于空闲状态。超过这个数量的线程会根据需要创建。
- maximumPoolSize:最大线程数。线程池中允许的最大线程数量。当任务数量超过核心线程数时,可以创建新的线程,直到达到这个最大值。
- keepAliveTime:线程的最大空闲时间。超过这个时间后,空闲线程会被终止,直到线程数量减少到核心线程数。

- unit: java基础加强和线程并发库 的时间单位(如 、 等)。
- workQueue:用于存储待执行任务的阻塞队列。可以是不同类型的队列,如 、、 等。
- handler:拒绝策略。当线程池无法处理更多任务时,决定如何处理新提交的任务。可以选择的策略包括:
- (默认)
- threadFactory(可选):用于创建新线程的工厂。可以自定义线程的名称、优先级等属性。
补充:
* 默认 拒绝策略是 AbortPolicy,直接抛出异常RejectedExecutionException * DiscardPolicy 直接丢弃任务 * DiscardOldestPolicy 丢弃阻塞队列中最早的任务 * CallerRunsPolicy 由调用者线程执行任务 * * 默认 阻塞队列 是 LinkedBlockingQueue 由链表结构组成的有界阻塞队列 * ArrayBlockingQueue 由数组结构组成的有界阻塞队列 * PriorityBlockingQueue 支持优先级排序的无界阻塞队列 * SynchronousQueue 不存储元素的阻塞队列 * * 可省项:线程工厂 和 拒绝策略讯享网
2.线程池Demo
2.1线程工厂(可省项)
讯享网
2.2Runnable任务
2.3线程池测试类
讯享网
2.4执行结果


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/3996.html