Reactor学习

 
 
 
2.
 
摘要:注:本篇文章例子基于上一篇进行:Java NIO学习与记录(七): Reactor单线程模型的实现 前言:单线程Reactor模型的缺点 紧接着上篇Reactor单线程模型的例子来,假设Handler的read那里的处理方式延迟5s,当做是业务性能瓶颈,改变下原来的Handler,让其read方法在 阅读全文
posted @ 2019-04-01 23:46 胖虎1993 阅读(1179) 评论(2) 推荐(3) 编辑
 
摘要:一、Selector&Channel 1.1:各种channel 写这个模型需要提前了解Selector以及Channel,之前记录过FileChannel,除此之外还有以下几种Channel: ServerSocketChannel:用于监听新的TCP连接的通道,负责读取&响应,通常用于服务端的实 阅读全文
posted @ 2019-03-27 21:59 胖虎1993 阅读(940) 评论(4) 推荐(3) 编辑
 
摘要:上一篇说的是基于操作系统的IO处理模型,那么这一篇来介绍下服务器端基于IO模型和自身线程的处理方式。 一、基于BIO下的线程处理模式 这种处理模型是基于阻塞IO进行的,上一篇讲过,阻塞IO会阻塞每一个IO操作,直到事件就绪,下面来看下阻塞IO下的服务端线程模型: 图1 如上图所示,该线程模型基于阻塞 阅读全文
posted @ 2019-03-20 23:12 胖虎1993 阅读(977) 评论(0) 推荐(0) 编辑
 
摘要:在开始介绍NIO Reactor模式之前,先来介绍下操作系统的五种I/O模型,了解了这些模型,对理解java nio会有不小的帮助。 前言:一次网络请求的流程 先来看下一个服务端处理一次网络请求的流程图: 图1 一、图1解析 1.1:内核空间&用户空间 内核空间:指操作系统运行时用于程序调度、虚拟内 阅读全文
posted @ 2019-03-19 13:53 胖虎1993 阅读(350) 评论(0) 推荐(0) 编辑
 
摘要:SocketChannel可以创建连接TCP服务的客户端,用于为服务发送数据,SocketChannel的写操作和连接操作在非阻塞模式下不会发生阻塞,这篇文章里的客户端采用SocketChannel实现,利用线程池模拟多个客户端并发访问服务端的情景。服务端仍然采用ServerSocket来实现,主要 阅读全文
posted @ 2019-03-08 23:18 胖虎1993 阅读(374) 评论(0) 推荐(0) 编辑
 
摘要:上一篇知道了Buffer的工作机制,以及FileChannel的简单用法,这一篇介绍下 Scatter&Gather 1.Scatter(分散) 用于描述在Channel中读取的数据分散在不同的Buffer里。 接着上一篇的例子(rua文件内容为123456789),改造下代码: readFile 阅读全文
posted @ 2019-03-07 09:21 胖虎1993 阅读(253) 评论(0) 推荐(0) 编辑
 
摘要:上一篇简单介绍了NIO,这一篇将介绍FileChannel结合Buffer的用法,主要介绍Buffer FileChannel的简单使用&Buffer的介绍 一、FileChannel例子 上一篇说到,这个Channel属于文件通道,专门读取文件信息,NIO读取文件内容的简单的例子: public 阅读全文
posted @ 2019-03-05 23:56 胖虎1993 阅读(482) 评论(1) 推荐(2) 编辑
 
摘要:工作中有些地方用到了netty,netty是一个NIO框架,对于NIO却不是那么熟悉,这个系列的文章是我在学习NIO时的一个记录,也期待自己可以更好的掌握NIO。 一、NIO是什么? 非阻塞式IO,与传统的BIO(阻塞式IO)不同,NIO可以通过通道(Channels)来监听各通道的动作,一个线程就 阅读全文
posted @ 2019-03-05 08:55 胖虎1993 阅读(213) 评论(0) 推荐(0) 编辑
原文地址:https://www.cnblogs.com/kelelipeng/p/13795341.html