文档章节

Epoll_native non-blocking transport for Linux

秋风醉了
 秋风醉了
发布于 2016/03/24 23:45
字数 267
阅读 35
收藏 0

 Epoll_native non-blocking transport for Linux

As we explained earlier, Netty’s NIO transport is based on the common abstraction for

asynchronous/non-blocking networking provided by Java. Although this ensures that

Netty’s non-blocking API will be usable on any platform, it also entails limitations,

because the JDK has to make compromises(妥协,折中) in order to deliver the same capabilities on all systems.

 The growing importance of Linux as a platform for high-performance networking

has led to the development of a number of advanced features, including epoll, a highly

scalable I/O event-notification feature. This API, available since version 2.5.44 (2002)

of the Linux kernel, provides better performance than the older POSIX select and

poll system calls and is now the defacto(事实上的) standard for non-blocking networking on

Linux. The Linux JDK NIO API uses these epoll calls.

 Netty provides an NIO API for Linux that uses epoll in a way that’s more consistent

with its own design and less costly in the way it uses interrupts.

 Consider utilizing(利用,使用) this version if your applications are intended for Linux; you’ll find that performance under heavy load is superior to that of the JDK’s NIO implementation.

 The semantics of this transport are identical to those shown in figure 4.2, and its

use is straightforward. For an example, refer to listing 4.4. To substitute(代替,替换) epoll for NIO

in that listing, replace NioEventLoopGroup with EpollEventLoopGroup and NioServerSocketChannel.class with EpollServerSocketChannel.class.

http://my.oschina.net/xinxingegeya/blog/640423

=========END=========

© 著作权归作者所有

秋风醉了
粉丝 252
博文 532
码字总数 405694
作品 0
朝阳
程序员
私信 提问
Java NIO && Netty的epoll实现

Java NIO && Netty的epoll实现 Java NIO Java NIO根据操作系统不同, 针对nio中的Selector有不同的实现: macosx: KQueueSelectorProvider solaris: DevPollSelectorProvider Linux: EPollSe......

秋风醉了
2016/03/18
2.4K
0
Linux I/O 模型(待修改)

最近看到“服务器并发处理能力”章节,被里面的“I/O模型“搞得有点头晕,所以这里希望通过概念的辨析和对比,能更好的理解Linux的 I/O模型。 同步(synchronous) IO和异步(asynchronous)...

linyouqing
2013/08/07
487
0
IO - 同步,异步,阻塞,非阻塞 (亡羊补牢篇)

当你发现自己最受欢迎的一篇blog其实大错特错时,这绝对不是一件让人愉悦的事。 《 IO - 同步,异步,阻塞,非阻塞 》是我在开始学习epoll和libevent的时候写的,主要的思路来自于文中的那篇...

小天120
2014/06/06
308
1
IO - 同步,异步,阻塞,非阻塞

本文讨论的背景是Linux环境下的network IO。 本文最重要的参考文献是Richard Stevens的“UNIX® Network Programming Volume 1, Third Edition: The Sockets Networking ”,6.2节“I/O Mod...

Kevin-air
2014/01/16
338
0
IO - 同步,异步,阻塞,非阻塞 (亡羊补牢篇)

当你发现自己最受欢迎的一篇blog其实大错特错时,这绝对不是一件让人愉悦的事。 《 IO - 同步,异步,阻塞,非阻塞 》是我在开始学习epoll和libevent的时候写的,主要的思路来自于文中的那篇...

Henrykin
2017/03/05
59
0

没有更多内容

加载失败,请刷新页面

加载更多

ERC-777以太坊新代币标准解读

ERC777是一个新的高级代币标准,可以视为ERC20的升级版本,因此它解决了ERC20以及ERC223存在的一些问题,开发者可以根据自己的具体需求进行选型。 1、使用ERC820进行合约注册 有别于ERC20的自...

汇智网教程
37分钟前
3
0
代理模式之JDK动态代理 — “JDK Dynamic Proxy“

动态代理的原理是什么? 所谓的动态代理,他是一个代理机制,代理机制可以看作是对调用目标的一个包装,这样我们对目标代码的调用不是直接发生的,而是通过代理完成,通过代理可以有效的让调...

code-ortaerc
今天
5
0
学习记录(day05-标签操作、属性绑定、语句控制、数据绑定、事件绑定、案例用户登录)

[TOC] 1.1.1标签操作v-text&v-html v-text:会把data中绑定的数据值原样输出。 v-html:会把data中值输出,且会自动解析html代码 <!--可以将指定的内容显示到标签体中--><标签 v-text=""></......

庭前云落
今天
8
0
VMware vSphere的两种RDM磁盘

在VMware vSphere vCenter中创建虚拟机时,可以添加一种叫RDM的磁盘。 RDM - Raw Device Mapping,原始设备映射,那么,RDM磁盘是不是就可以称作为“原始设备映射磁盘”呢?这也是一种可以热...

大别阿郎
今天
12
0
【AngularJS学习笔记】02 小杂烩及学习总结

本文转载于:专业的前端网站☞【AngularJS学习笔记】02 小杂烩及学习总结 表格示例 <div ng-app="myApp" ng-controller="customersCtrl"> <table> <tr ng-repeat="x in names | orderBy ......

前端老手
昨天
16
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部