java中的线程池有哪些,方法参数的意思
时间: 2024-05-27 10:11:40 浏览: 98
Java中常用的线程池有以下几种:
1. FixedThreadPool(固定大小线程池):线程数固定,适用于处理长时间的任务,可控制线程最大数量,保证系统稳定运行。
2. CachedThreadPool(缓存线程池):线程数不固定,适用于执行大量短时间的任务,可根据需求自动创建线程,适用于执行很多短期异步的小程序或者负载较轻的服务器。
3. ScheduledThreadPool(定时器线程池):用于执行定时任务和周期性任务的线程池,可用于定时执行任务,如定时备份、定时清理等。
4. SingleThreadExecutor(单线程线程池):只有一个线程的线程池,适用于需要顺序执行任务的场景,如单线程顺序执行任务。
线程池方法参数的意思:
1. corePoolSize:核心线程数,即线程池中保持活动状态的线程数量。
2. maximumPoolSize:最大线程数,即线程池中最大线程数量,超出此数量的线程会被阻塞。
3. keepAliveTime:线程池中空闲线程的存活时间,超过此时间的空闲线程会被回收。
4. unit:存活时间的单位,如秒、分钟等。
5. workQueue:线程池中的任务队列,保存等待执行的任务。
6. threadFactory:线程工厂,用于创建新线程。
7. handler:线程池的饱和策略,当线程池无法处理新任务时的处理方式。常用的策略有AbortPolicy(直接抛出异常)、CallerRunsPolicy(在调用者线程中执行任务)、DiscardOldestPolicy(丢弃队列中等待时间最长的任务)、DiscardPolicy(直接丢弃新任务)。
阅读全文