请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

请问下老师服务端NioEventLoop启动为什么要用CAS启动一个线程

https://img1.sycdn.imooc.com//szimg/5b304313000100f508120140.jpg


这里为什么要用cas操作呢?服务端启动不是单线程环境吗,不存在并发情况 不需要cas操作把,另外想问下用netty和原生nio相比,性能差距有多少,为什么比原生nio高,具体优化在哪些方面呢。谢谢老师

正在回答 回答被采纳积分+3

1回答

闪电侠 2018-06-25 21:30:10
  1. 这里为什么要用cas操作呢?服务端启动不是单线程环境吗,不存在并发情况 不需要cas操作把

    因为NioEventLoop呢,他是可以给用户自己使用的,他暴露一个execute(Runable task)方法,如果多个线程拿到同一个EventLoop,同时执行这个execute方法,就重复启动这个NioEventLoop的底层的线程啦

  2. netty和原生nio相比,性能差距有多少,为什么比原生nio高,具体优化在哪些方面呢

    主要是reactor线程模型,其次在一些细节方面,比如对象池技术,FastThreadLocal技术,ByteBuf池化技术都做了很多优化,这些课程后面都有讲到的哦

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信