网站首页 > 文章精选 正文
创建线程池的4大方法是:
- newCachedThreadPool():创建一个可缓存线程池,线程池的大小可以根据需求自动调整。
- newFixedThreadPool(int nThreads):创建一个固定大小的线程池,线程池中的线程数始终保持不变。
- newSingleThreadExecutor():创建一个单线程化的线程池,只有一个工作线程执行任务,保证所有任务按照指定顺序执行。
- newScheduledThreadPool(int corePoolSize):创建一个固定大小的线程池,支持定时以及周期性任务的执行。
创建线程池时常用的7个参数是:
- corePoolSize:核心线程数,线程池中始终保持存活的线程数量。
- maximumPoolSize:最大线程数,线程池中允许的最大线程数量。
- keepAliveTime:线程空闲时的存活时间,超过该时间未执行任务的线程将被销毁。
- unit:keepAliveTime的时间单位。
- workQueue:用于存放等待执行的任务的阻塞队列。
- threadFactory:线程工厂,用于创建线程。
- handler:拒绝策略,当线程池无法执行新的任务时,采取的策略。
常用的4种拒绝策略是:
- ThreadPoolExecutor.AbortPolicy:默认的拒绝策略,当线程池无法执行新的任务时,抛出RejectedExecutionException异常。
- ThreadPoolExecutor.CallerRunsPolicy:当线程池无法执行新的任务时,由调用线程执行该任务。
- ThreadPoolExecutor.DiscardOldestPolicy:当线程池无法执行新的任务时,丢弃最旧的任务,然后尝试重新提交新任务。
- ThreadPoolExecutor.DiscardPolicy:当线程池无法执行新的任务时,直接丢弃该任务,不做任何处理。
猜你喜欢
- 2024-12-27 Python启航:30天编程速成之旅(第23天)- 多线程从入门到精通
- 2024-12-27 10问10答:你真的了解线程池吗? 线程池的用法、原理
- 2024-12-27 线程池最佳线程数量到底要如何配置?
- 2024-12-27 线程池的创建方式,为什么阿里推荐自定义线程池?
- 2024-12-27 如何在C#中创建和使?线程池?请提供?例代码
- 2024-12-27 多线程编程 - 创建线程和结束线程
- 2024-12-27 Java面试篇基础部分-Java创建线程详解
- 2024-12-27 创建线程池有哪几种方式? 44.创建线程池有哪几种方式?
- 2024-12-27 进程、线程的创建和派生详细过程 线程进程定义
- 2024-12-27 如何创建守护线程? 如何创建守护线程文件夹
- 最近发表
- 标签列表
-
- newcoder (56)
- 字符串的长度是指 (45)
- drawcontours()参数说明 (60)
- unsignedshortint (59)
- postman并发请求 (47)
- python列表删除 (50)
- 左程云什么水平 (56)
- 计算机网络的拓扑结构是指() (45)
- 稳压管的稳压区是工作在什么区 (45)
- 编程题 (64)
- postgresql默认端口 (66)
- 数据库的概念模型独立于 (48)
- 产生系统死锁的原因可能是由于 (51)
- 数据库中只存放视图的 (62)
- 在vi中退出不保存的命令是 (53)
- 哪个命令可以将普通用户转换成超级用户 (49)
- noscript标签的作用 (48)
- 联合利华网申 (49)
- swagger和postman (46)
- 结构化程序设计主要强调 (53)
- 172.1 (57)
- apipostwebsocket (47)
- 唯品会后台 (61)
- 简历助手 (56)
- offshow (61)