image-20221226141546117

image-20221226141618139

这次提交比较简单,只涉及到一行

这块对应的知识是,线程池的创建方式,添加的参数为线程队列满的时候的拒绝策略

翻阅了下《Java异步编程实战》这本书,对应15页,ThreadPoolExecutor.CallerRunsPolicy() 的策略对应的意思是当线程池任务饱和,执行拒绝策略时不会丢弃新的任务,而是会调用线程来执行

image-20221226142305449

查看这块的形参,RejectedExecutionHandler,查看实现类

image-20221226142657428

如果不传这个值默认调用 Abort()

image-20221226142905315

可见这次提交可以避免线程池满之后,丢失任务的问题,会继续使用运行者线程来运行这次调度任务

Logo

快速构建 Web 应用程序

更多推荐