RejectedExecutionHandlers设计分析

RejectedExecutionHandlers

netty中的执行器拒绝处理器RejectedExecutionHandler接口如下:


其有两种策略实现:

1. 默认策略

实现中是直接抛出异常。


2. 补偿策略

首先判断是否在eventLoop的io线程中。

a. 如果在其中则直接抛出异常,防止补偿阻塞IO线程正常执行任务。

b. 如果不是,则首先尝试wakeup执行器,尽量让其消费queue中的任务。然后阻塞等待指定时间后,调用offerTask将任务再次尝试添加到执行器中,成功则立刻返回,否则走入下一步抛出异常。


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。