21、Netty源码分析:Unsafe.read()

关于Unsafe的read操作,它的两个实现类NioByteUnsafeNioMessageUnsafe都实现了这个方法,在服务端中一般会设置一个boss线程组和一个worker线程组,客户端一般只设置一个worker线程,在worker线程中使用的NioByteUnsafe的read方法,在boss线程中使用的是NioMessageUnsafe的read方法。

*

boss线程中使用的是NioMessageUnsaferead方法:

*

第2步中的doReadMessage方法在NioSocketChannel实现,源码如下:
*

worker线程中使用的NioByteUnsaferead方法:

*

第5步中的doReadBytes方法在NioServerSocketChannel中实现,源码如下:
*

至此Unsafe的read方法分析至此。

版权声明:本文不是「本站」原创文章,版权归原作者所有 | 原文地址: