1简介概述实例
简介
本文用示例介绍Java线程池的饱和策略(拒绝策略)。
概述
Java线程池的饱和策略如下:
饱和策略说明ThreadPoolExecutor.AbortPolicy线程池默认的阻塞策略。 不执行此任务,而且抛出一个运行时异常(未检查的异常RejectedExecutionException)。 切记:ThreadPoolExecutor.execute需要try catch,否则程序会直接退出。ThreadPoolExecutor.DiscardPolicy不执行此任务,而且不抛异常。(是个空方法)ThreadPoolExecutor.DiscardOldestPolicy从队列里删除最老的任务(头部的一个任务),并再次execute 此task。ThreadPoolExecutor.CallerRunsPolicy让调用execute方法的线程执行此command,会阻塞入口。 这是个调节机制,既不抛弃任务也不抛出异常,而是将某些任务回退到调用者,让调用者所在的线程去执行。用户自定义拒绝策略(最常用)实现RejectedExecutionHandler,并自己定义策略模式
实例
此内容仅限VIP查看,请先登录