相对于读操作而言,Netty在处理写操作上更复杂一些.在之前的文章我们介绍了Netty空闲检测之读空闲,为了介绍Netty空闲检测之写空闲,我们有必要对Netty的写操作做一个整体上的介绍.有助于我们接下来介绍写空闲...在之前的文章我们也说过,在Netty中有两类线程,一类是IO线程,负责读写操作,一类是业务线程,就是处理业务的线程.我们以RocketMQ为例,看下它的源码中,如何分配这两类线程的.
// 源码位置:...如果这个时候,服务端的5个通道都要向客户端写数据.因为业务线程是不能直接向客户端写数据的,只能由IO线程执行写操作.那么应该如何做呢?...IO线程有一个关联的队列,这个队列是线程安全的,是多个生产者一个消费者类型的队列,业务线程只需要将写操作封装成一个写任务,放入到队列中,然后IO线程会从队列中读取任务,执行任务,将数据写到客户端....这些都是和写操作有关,在Netty中写操作是最复杂最难理解的地方之一.后面的文章我们都会一一讲到.