1.Netty的flush优化handler——FlushConsolidationHandler
Netty的实现更复杂一些,对于用单独线程池处理业务的场景,有一些特殊的处理和优化,比如如果异步处理的时候,即channelReadComplete比channelRead结束的要早,所以在flush调用的时候,readInProgress已经是false了,然后根据用户决定是否开启对于异步的强化来决定是直接flush还是走consolidateWhenNoReadInProgress,如果consolidateWhenNoReadInProgress为true(开启增强),那么就用次数是否到达阈值来决定立即刷新还是延时刷新。
我们可以写一个demo来尝试一下,这里我们为业务单独指定线程池,同时开启异步增强