`

cindy源码阅读(5)打开服务端SessionAcceptor

 
阅读更多



可以看到一个是阻塞的,一个是非阻塞的。BlockingSessionAcceptor的采用的是socket的accept,这个是会阻塞的。
而NonBlockingSessionAcceptor采用的session的封装,session.start().complete();session.start()得到的是个future,所以这个异步非阻塞的。
NonBlockingSessionAcceptor:
public synchronized void start() {
        if (getAcceptorHandler() == null)
            throw new IllegalStateException("acceptor handler is null");
        if (isStarted())
            return;

        ServerSocketChannel channel = null;
        try {
            channel = ServerSocketChannel.open();
            setServerSocketOptions(channel.socket());
            counter.set(0);
            session.setChannel(channel);
            session.start().complete();
        } catch (IOException e) {
            ChannelUtils.close(channel);
            exceptionCaught(e);
        }
    }
  • 大小: 4.9 KB
0
5
分享到:
评论

相关推荐

    开源nio框架cindy源码

    Cindy-3.0b1-src这个版本是Cindy框架的源代码包,对于开发者来说,了解其源码可以帮助深入理解NIO框架的设计原理和实现细节。下面将详细介绍这个框架可能包含的关键知识点: 1. **Java NIO基础**:Cindy是建立在...

    cindy最新源码和库

    通过阅读源码,你可以了解到如何实现几何变换、碰撞检测、光线追踪等图形学基础算法。 Cindy库主要包括以下几个关键部分: 1. **几何数据结构**:Cindy提供了多种数据结构来表示几何对象,如点、线段、多边形等。...

    cindy.jar 源码工具包

    cindy.jar 源码工具包

    基于java的开发源码-异步IO框架 Cindy.zip

    基于java的开发源码-异步IO框架 Cindy.zip 基于java的开发源码-异步IO框架 Cindy.zip 基于java的开发源码-异步IO框架 Cindy.zip 基于java的开发源码-异步IO框架 Cindy.zip 基于java的开发源码-异步IO框架 Cindy.zip ...

    异步IO框架 Cindy源码

    在深入理解Cindy源码之前,我们首先需要对异步I/O的基本概念有所了解。 异步I/O模型与传统的同步I/O模型不同,它允许应用程序在等待I/O操作完成时继续执行其他任务,而不是阻塞在一个操作上。这种方式提高了系统...

    基于Java的实例源码-异步IO框架 Cindy.zip

    5. **Cindy源码分析**:通过阅读和分析Cindy的源码,我们可以深入理解其内部工作原理,包括事件循环的实现、回调机制的调度以及如何优雅地处理并发问题。这对于提升Java并发编程和系统优化的能力非常有价值。 6. **...

    JAVA源码异步IO框架CindyJAVA源码异步IO框架Cindy

    JAVA源码异步IO框架CindyJAVA源码异步IO框架Cindy

    Cindy 3.0b1 的源码--- Mina的兄弟

    Netty、Mina、Cindy都是不错的NIO开源框架,后两者都是在Netty的基础上演化出来的。所以要学习好Java的异步通信框架,这三个都是不可多得的好材料。 本资源仅供学习和参考使用,若要进行开发,请下载相应的Jar包

    异步IO框架 Cindy

    在源码层面,Cindy可能采用了面向对象的设计模式,通过类和接口来封装各种IO操作和事件处理。同时,为了保持代码的可读性和可维护性,Cindy可能会遵循一定的设计原则,如单一职责原则、开闭原则等,并使用模块化设计...

    java源码:异步IO框架 Cindy.rar

    5. **性能优化**:Cindy在设计时充分考虑了性能优化,例如,通过NIO(New IO)库实现低级别的系统调用,减少系统开销,提高吞吐量。 在实际项目中,Cindy通常用于构建高性能的网络服务。例如,它可以用来创建一个...

    小程序 异步IO框架 Cindy(源码).rar

    免责声明:资料部分来源于合法的互联网渠道收集和整理,部分自己学习积累成果,供大家学习参考与交流。收取的费用仅用于收集和整理资料耗费时间的酬劳。 本人尊重原创作者或出版方,资料版权归原作者或出版方所有,...

    Cindy components v6.53 for All Delphi

    Packages with 71 components for all delphi versions (since D7) to build Windows 32/64 bit applications: VCL controls (labels, buttons, panels, Edits, TabControls, StaticText) with features like ...

    基于Java的异步IO框架 Cindy.zip

    Cindy是一个这样的框架,它旨在简化Java中的异步编程模型,提供更好的性能和可扩展性。让我们深入探讨Cindy框架以及Java异步I/O的相关知识点。 ### 1. Java的异步I/O模型 在传统的Java I/O模型中,如BIO(Blocking...

    Cindy components for all delphi versions v3.23 Full Source

    《Cindy组件:全Delphi版本v3.23完整源码详解》 Cindy组件是为Delphi开发者提供的一套强大且美观的界面控件库,特别适用于那些追求个性化和高质量用户界面的项目。在"V3.23 Full Source"版本中,开发者将获得完整的...

    基于java的异步IO框架 Cindy.zip

    5. **兼容性**:Cindy应该兼容Java NIO,同时也可能提供了对Java NIO 2的支持,以便利用Java新版本提供的更多特性。 使用Cindy进行开发时,你可能需要了解以下几个步骤: 1. **创建事件循环(Event Loop)**:这是...

    Cindy components for all Delphi versions

    Packages with 76 components for all delphi versions (since D7) to build Windows 32/64 bit applications: VCL controls (labels, buttons, panels, Edits, TabControls, StaticText) with features like ...

    Cindy components for all Delphi versions 6.60

    delphi 控件,优秀的界面设计工具 TcyBevel: multi colored bevels. - TcyPanel: runtime resize feature, multi colored bevels, gradient and shadow feature. - TcyAdvPanel: like TcyPanel plus wallpaper ...

    基于C#开发的桌面宠物程序源码+可执行程序+项目说明.zip

    运用了Cindy723/PyRPA: 基于Pyautogui的自动化工具 的脚本 unity和win混合 【使用方法】 Releases里下载双击运行Mion_pet.exe即可; 【备注】 主要针对计算机相关专业的正在做毕设的学生和需要项目实战的C#学习者。 ...

    Netty 3.0.2.GA 的源码--- Mina的兄弟

    Netty、Mina、Cindy都是不错的NIO开源框架,后两者都是在Netty的基础上演化出来的。所以要学习好Java的异步通信框架,这三个都是不可多得的好材料。 本资源仅供学习和参考使用,若要进行开发,请下载相应的Jar包。

Global site tag (gtag.js) - Google Analytics