请问下老师服务端NioEventLoop启动为什么要用CAS启动一个线程
来源:4-6 NioEventLoop的启动

慕粉3520842
2018-06-25
这里为什么要用cas操作呢?服务端启动不是单线程环境吗,不存在并发情况 不需要cas操作把,另外想问下用netty和原生nio相比,性能差距有多少,为什么比原生nio高,具体优化在哪些方面呢。谢谢老师
写回答
1回答
-
闪电侠
2018-06-25
这里为什么要用cas操作呢?服务端启动不是单线程环境吗,不存在并发情况 不需要cas操作把
因为NioEventLoop呢,他是可以给用户自己使用的,他暴露一个execute(Runable task)方法,如果多个线程拿到同一个EventLoop,同时执行这个execute方法,就重复启动这个NioEventLoop的底层的线程啦
netty和原生nio相比,性能差距有多少,为什么比原生nio高,具体优化在哪些方面呢
主要是reactor线程模型,其次在一些细节方面,比如对象池技术,FastThreadLocal技术,ByteBuf池化技术都做了很多优化,这些课程后面都有讲到的哦
00
相似问题