这个章节包括:
1)Netty的架构设计和技术点
2)Channel,EventLoop和ChannelFuture
3)ChannelHandler 和 ChannelPipeline
4)Bootstrap
在第一章节中,我们讲述了java在高性能的网络编程的发展历史和对网络方面的技术基础的积累,这给对Netty的核心组件和构建模块分析提供了一个很好的氛围...
分类:
Web程序 时间:
2016-04-15 12:05:40
阅读次数:
296
EventLoop的注释是这样的:用来处理被注册的Channel的I/O操作,根据具体实现来处理一个或多个Channel的I/O操作。 EventLoop本身没有提供有用的接口,它主要是整合了EventExecutor和EventLoopGroup接口(这样的话,EventLoop就具备了任务执行和 ...
分类:
编程语言 时间:
2016-04-10 20:50:48
阅读次数:
274
从这一篇博文起,我们开始剖析Muduo网络库的源码,主要结合《Linux多线程服务端编程》和网上的一些学习资料!
(一)TCP网络编程的本质:三个半事件
1. 连接的建立,包括服务端接受(accept) 新连接和客户端成功发起(connect) 连接。TCP 连接一旦建立,客户端和服务端是平等的,可以各自收发数据。
2. 连接的断开,包括主动断开(close 或shutdown) 和被动断开...
分类:
其他好文 时间:
2016-04-04 01:36:55
阅读次数:
344
muduo的并发模型为one loop per thread+ threadpool。为了方便使用,muduo封装了EventLoop和Thread为EventLoopThread,为了方便使用线程池,又把EventLoopThread封装为EventLoopThreadPool。...
分类:
其他好文 时间:
2015-08-06 00:30:10
阅读次数:
146
Channel是Reactor结构中的“事件”,它自始至终都属于一个EventLoop,负责一个文件描述符的IO事件。Poller是实现了IO复用,是个虚基类。...
分类:
其他好文 时间:
2015-08-05 01:06:12
阅读次数:
128
EventLoop是整个Reactor的核心。本节分析EventLoop的源码...
分类:
其他好文 时间:
2015-08-04 00:41:57
阅读次数:
162
原文来自 ruanyifeng.com一年前,我写了一篇《什么是 Event Loop?》,谈了我对Event Loop的理解。上个月,我偶然看到了Philip Roberts的演讲《Help, I'm stuck in an event-loop》。这才尴尬地发现,自己的理解是错的。我决定重写这个...
分类:
编程语言 时间:
2015-04-26 12:10:03
阅读次数:
154
本节研究事件循环EventLoop以及EventLoopPool,并给出C++实现;...
分类:
其他好文 时间:
2015-03-31 18:14:35
阅读次数:
140
1. Event Loop作为一个IO线程,通过IO复用来处理事件2. 为了保证线程安全,任何需要修改IO线程资源的工作都交给IO线程亲自来做3. 为了IO线程与其他线程互调,需要设计一个eventfd让其他线程把自己的请求通过socket告知IO线程4. 通过timerfd可以方便地把回调的tim...
分类:
其他好文 时间:
2015-02-15 16:34:03
阅读次数:
168
之前看了一篇关于EventLoop的文章做了下面的笔记EventLoop是解决JavaScript单线程问题的一种运行机制当程序接受到了请求之后.就会把请求交给EventLoop然后继续往下执行这样就不用等待请求返回,继续执行下面的代码,当EventLoop完成后会把结果返回给程序程序再调用已经设定...
分类:
其他好文 时间:
2015-01-17 11:12:57
阅读次数:
141