由于毕设需要做即时通讯,看了许多即时通讯可能需要的技术,比如轮询,socket,纯websocket,netty,最终选择了netty+websocket,轮询和socket的先排除了,毕竟这种浪费资源的技术学了也施展空间也不大...,websocket和netty看了几天,大概了解了一下,最终决定学Nettty+websocket做完整个通讯而不纯websocket,因为NIO算我的一个还没揭开面纱的短板(之前有想过学NIO,单看源码实在让我头疼...我们知道,一个 socket 连接只有在特定的时候才会发生数据传输 IO 操作,大部分时间这个“数据通道”是空闲的,但还是占用着线程。...四 Netty Reactor 模型
单线程模型
多线程模型
主从多线程模型
1.单线程模型(接受请求和处理请求都是同一个线程)
用户发起 IO 请求到 Reactor 线程
Ractor 线程将用户的...IO 请求放入到通道,然后再进行后续处理
处理完成后,Reactor线程重新获得控制权,继续其他客户端的处理
这种模型一个时间点只有一个任务在执行,这个任务执行完了,再去执行下一个任务。