netty
- Netty是一个提供了易于使用的API的客户端/服务器框架
- 并发高 - NIO(非阻塞IO)
- 传输快-零拷贝
阻塞与非阻塞
- 线程访问资源,该资源是否就绪的一种处理方式
阻塞:要等待资源处理完毕
非阻塞:不会等待资源完毕,去处理其他的
同步与异步
- 同步和异步是指访问数据的一种机制
BIO
- 同步阻塞IO,Block IO
NIO
- 同步非阻塞IO,New IO(Non-Block IO)
AIO
- 异步非阻塞IO
- 异常阻塞IO
生活实例
- BIO:去上厕所,坑全满,此时我一直光等着,主动观察哪个坑位好了,只要有坑位释放了,我就立马去占坑
- NIO:厕所坑全满,此时我跑出去抽烟或者做别的事情,然后时不时再主动的去厕所有没有坑释放,如果有坑了自己去占坑
- 异步阻塞:我在厕所里,等有人好了之后来通知后,然后再去占坑
- AIO:我在厕所外抽烟跟玩手机,等有人好了之后就通知我去占坑
BIO、NIO、AIO
Reactor 线程模型
- 单线程模型:所有的IO操作都由同一个NIO线程处理的
- 多线程模型:由一组NIO 线程处理IO操作
- 主从线程模型:一组线程池接收请求,一组线程池处理io