您的位置:首页 > 其它

Netty线程模型

2018-03-15 13:01 295 查看

Netty线程模型

EventLoopGroup是一个线程池
EventLoop是一个具体的线程
每个一个客户端Channel会和唯一的EventLoop绑定,该Channel的读写事件会在唯一的一个EventLoop中执行
也就是说,Netty的线程模型保证了每个Channel的读写环境是单线程的



基于Netty的服务器线程模型

基于NIO的Netty之所以高效,是因为它利用NIO非阻塞的特性,使用少数的几个线程处理了大量并发连接的IO.
当我们基于Netty搭建服务器,我们不能在Netty的IO线程中执行业务逻辑,原因是业务逻辑可能非常耗时,从而阻塞Netty IO线程,降低并发度。
服务器的线程模型应该是:
通过把Channel映射到指定的业务线程,保证每个user的业务操作在单线程环境中执行,降低业务编写复杂度。

由于Channel的IO操作都是线程安全的,可以在业务线程中直接写数据回客户端

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: