跟着开源项目学java2-从定时任务线程池优化的提交看线程池在开源项目中的使用
线程池 拒绝策略 若依
·
这次提交比较简单,只涉及到一行
这块对应的知识是,线程池的创建方式,添加的参数为线程队列满的时候的拒绝策略
翻阅了下《Java异步编程实战》这本书,对应15页,ThreadPoolExecutor.CallerRunsPolicy() 的策略对应的意思是当线程池任务饱和,执行拒绝策略时不会丢弃新的任务,而是会调用线程来执行
查看这块的形参,RejectedExecutionHandler,查看实现类
如果不传这个值默认调用 Abort()
可见这次提交可以避免线程池满之后,丢失任务的问题,会继续使用运行者线程来运行这次调度任务
更多推荐
已为社区贡献18条内容
所有评论(0)