IOT_SHUN的博客

个人技术博客

排序:
默认
按更新时间
按访问量

信号驱动IO之libevent的使用

5、libevent方法      libevent是一个事件触发的网络库,适用于windows、linux、bsd等多种平台,内部使用select、epoll、kqueue等系统调用管理事件机制。著名分布式缓存软件memcached也是libevent based,而且libevent在使用上可...

2018-07-05 10:17:40

阅读数:49

评论数:0

linux网络编程IO模型

   构建现代的服务器应用程序需要以某种方法同时接收数百、数千甚至数万个事件,无论它们是内部请求还是网络连接,都要有效地处理它们的操作。     有许多解决方案,但事件驱动也被广泛应用到网络编程中。并大规模部署在高连接数高吞吐量的服务器程序中,如 http 服务器程序、ftp 服务器程序等。相比于...

2018-07-05 10:07:06

阅读数:31

评论数:0

epoll和select区别

先说下本文框架,先是问题引出,然后概括两个机制的区别和联系,最后介绍每个接口的用法一、问题引出 联系区别问题的引出,当需要读两个以上的I/O的时候,如果使用阻塞式的I/O,那么可能长时间的阻塞在一个描述符上面,另外的描述符虽然有数据但是不能读出来,这样实时性不能满足要求,大概的解决方案有以下几种:...

2018-06-28 09:52:42

阅读数:28

评论数:0

Linux AIO机制(信号驱动机制)

Linux的I/O机制经历了一下几个阶段的演进:1. 同步阻塞I/O: 用户进程进行I/O操作,一直阻塞到I/O操作完成为止。2. 同步非阻塞I/O: 用户程序可以通过设置文件描述符的属性O_NONBLOCK,I/O操作可以立即返回,但是并不保证I/O操作成功。3. 异步事件阻塞I/O: 用户进程...

2018-04-12 19:29:38

阅读数:94

评论数:0

Linux下5种IO模型的小结

概述    接触网络编程,我们时常会与各种与IO相关的概念打交道:同步(Synchronous)、异步(ASynchronous)、阻塞(blocking)和非阻塞(non-blocking)。关于概念的区别看到一位朋友(链接)打了一个比较形象的比喻:你打电话问书店老板有没有《分布式系统》这本书,...

2018-04-12 19:27:35

阅读数:22

评论数:0

深入linux网络编程(三):异步阻塞IO —— epoll

1. epoll的优越性上一节介绍的select有几个缺点:存在最多监听的描述符上限FD_SETSIZE每次被唤醒时必须遍历才能知道是哪个描述符上状态ready,CPU随描述符数量线性增长描述符集需要从内核copy到用户态这几个缺点反过来正是epoll的优点,或者说epoll就是为了解决这些问题诞...

2018-03-10 22:09:27

阅读数:84

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭