请问老师netty是同步非阻塞的还是异步非阻塞的,可以从哪方面来理解这个同步/异步
来源:13-1 课程回顾和总结

小笨鸟赶快飞呀
2019-01-31
请问老师netty是同步非阻塞的还是异步非阻塞的,可以从哪方面来理解这个同步/异步
写回答
1回答
-
Netty是一个异步事件驱动框架,怎么理解,我们来拆解一下
1.异步怎么理解:外部线程执行write或者execute任务的时候会立马返回,为什么会立马返回,是因为他内部有一个牛逼哄哄的mpsc(多生产者单消费者)队列,所有外部线程的任务都给扔到这个队列里,同时把回调,也就是future绑定在这个任务上,reactor线程会在第三步挨个执行这些任务,执行完之后callback,典型的观察者模式
2.事件怎么理解:netty内部默认两倍cpu核数个reactor线程,每个reactor线程维护一个selector,每个selector维护一堆channel,每个channel都把读写等事件都注册到selector上
3.驱动怎么理解:netty里面默认所有的操作都在reactor线程中执行,reactor线程核心的就是run方法,所有的操作都由这个方法来驱动,驱动的过程分为三个过程,轮询事件,处理事件,处理异步任务
深刻了解了这三点,离熟悉Netty框架就不远了012019-02-01
相似问题