03 2021 档案
摘要:1.AIO模型分析 AsyncChannelGroup指的是,可以被多个异同通道所共享的资源群组。其中,最主要的资源有线程池。 不指定的情况下,系统会使用一个默认的AsyncChannelGroup。 在AIO编程模型中,高效率和方便是因为操作系统做了很多的事。 在请求处理的过程中,并不是在主线程中
阅读全文
摘要:1.从操作系统的内核角度对比三大模型 1.1 阻塞式I/O 对应BIO 1.2 非阻塞式I/O 对应NIO的非阻塞模式 注意:上图并不包括NIO的Selector监听模式,仅仅对应NIO中把服务端ServerSocketChannel和客户端SocketChannel配置的非阻塞模式。 1.2.1
阅读全文
摘要:1. NIO模型分析 对于服务端,创建Selector,需要监听ServerSocketChannel的ACCEPT事件,监听注册的每一个SocketChannel的READ事件。 Selector监听ACCEPT事件,如果有客户发出连接请求,服务端要为该客户的通道在服务器Selector注册REA
阅读全文
摘要:1.NIO概述 Channel与Stream的不同: Stream是具有方向性的,有输入流 or 输出流;Channel是双向的,既可以读又可以写。 Stream的读和写都是阻塞式的;但是Channel有两种模式,既可以阻塞式读写,又可以非阻塞式读写。 非阻塞的意思是,例如想从某个Channel中读
阅读全文
摘要:1.BIO编程模型 BIO模型:对每一个建立连接的客户端,服务端都要创建一个线程单独处理和这个客户的通信,典型的一请求一应答。 1.1 优化——伪异步IO编程模型 思路:使用线程池来管理服务器端所有可用线程,即通过一个线程池来处理多个客户端的请求接入。 好处:通过线程池可以灵活的调配线程资源,设置线
阅读全文

浙公网安备 33010602011771号