• open!?
    2022-11-22 来自浙江
    问题一 :请求体很大 当前subreactor线程耗时会比较久 这时如果有别的channel来请求到当前subreactor线程会阻塞很久吧 不知道对不对

    作者回复: 非常正确的,但Netty在这方面对这个问题做了处理。它的处理方法是就是控制一个通道在一次事件选择处理中,控制调用read方法的次数,默认为16次,也就是如果请求体太大,以至于16次读调用还无法读完,这个通道就不再处理,将时间给其他通道,等下一次读时间触发时,再继续读。

    
    1
  • 呢喃
    2022-07-31 来自上海
    写的非常好,对我很有帮助,感谢老师

    作者回复: 谢谢认可,我建议看过后,自己后面再写一遍,然后再看netty是怎么写的,最后再来优化一遍,完成这个过程,我相信对nio的理解会更透彻。

    
    1
  • 雨落~紫竹
    2022-07-03
    网络传输涉及带宽 就算你是nio 你也必须过带宽吧 木桶效应?

    作者回复: 你好,我不太明白你的疑问点是什么?网络传输必须要涉及带宽。NIO的核心优势其实就是其事件选择机制,比NIO少耗费线程资源,因为在操作系统层面进行事件就序选择后,只需要处理真正有需求的网络通道。

    共 4 条评论
    
  • William Ning
    2022-07-10
    建议参考文档,对照着学习,思考 https://time.geekbang.org/column/article/8697 -- 18 | 单服务器高性能模式:PPC与TPC https://time.geekbang.org/column/article/8805 -- 19 | 单服务器高性能模式:Reactor与Proactor
    
    2
  • 哲里哲里
    2022-10-20 来自上海
    建议吧图文结合起来,比如那段文字是描述图中哪个过程
    
    
  • William Ning
    2022-07-11
    老师同学好,全是java代码,不过注释还是比较清晰。 但是关于NioClient 类中 // 再次发送消息,重复输出 buffer = ByteBuffer.allocate(1024); buffer.put("hello server.".getBytes()); buffer.flip(); sc.write(buffer); 没明白,为什么在读取数据的代码里,还要写入数据?
    共 1 条评论
    
  • William Ning
    2022-07-11
    FYI OP_CONNECT OP是Operation。
    
    