举例说明:老师收学生作业,相当于应用层调用I/O操作。 1、老师逐个收学生作业,学生没有做完,只能阻塞等待,收了之后,再去收下一个学生的作业。这显然存在性能问题。 2、怎么解决上面的问题? 老师找个班长,班长负责收作业,班长的做法是:遍历问学生作业写好了吗,写好的,收起来交给老师。休息一会,再去遍历 ...
分类:
其他好文 时间:
2016-05-28 19:07:00
阅读次数:
144
我们先从著名的C10K问题开始探讨,由于早期在网络还不普及的时候,互联网的用户并不是很多,一台服务器同时在线100个用户估计在当时已经算是大型应用了。但是随着互联网的发展,用户群体迅速的扩大,每一个用户都必须与服务器保持TCP连接才能进行实时的数据交互。Facebook这样的网站同一时间的并发TCP ...
分类:
其他好文 时间:
2016-05-14 18:33:52
阅读次数:
243
转载自: Anker select,poll,epoll都是IO多路复用的机制。I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。但select,poll,epoll本质上都是同步I/O,因为他们都需要在读写事件就绪后自己 ...
分类:
其他好文 时间:
2016-05-13 13:31:39
阅读次数:
200
虽然电脑没有意识,但是中断(阻塞与非阻塞)使硬件在某些方面具有了智能! 因为发现了缺点,所以计算机的大牛们一直在改进!所以才有了一系列的select、poll和epoll模型的诞生。为了适应不同的环境,新的发现和改进是无可避免的,只是为了技术更过硬,生活更美好。相比与select和poll模型,epoll模型的优点:
(1) FD连接数量:Epoll它没有最大连接数的限制,只受进程打开描述符总数的限制;
(2)I/O效率:epoll支持水平触发和边缘触发,最大的特点在于边缘触发,它只告诉...
分类:
其他好文 时间:
2016-05-13 04:03:39
阅读次数:
159
I/O复用使得程序能够同时监听多个文件描述符,对于提高程序性能至关重要。I/O复用不仅仅在网络程序中使用,但是我接触到的例子中,TCP网络编程那块使用I/O复用比较多,例如,TCP服务器同时处理监听socket和连接socket.
在了解I/O复用之前,我们需要先了解几个概念。
1,同步I/O与异步I/O
2,LT(水平触发)和ET(边缘触发)
POSIX把两个术语定义如下:
同...
分类:
其他好文 时间:
2016-05-13 03:05:18
阅读次数:
213
多路复用I/O: socket编程之select(),poll(),epoll() 代码: client.c server.c 结果: ...
分类:
其他好文 时间:
2016-05-09 22:09:19
阅读次数:
298
socket编程,通信 client端 socket() >connect() >recv() > close(); server端 socket() >bind() > listen() >accept() >send() >close(); 1> socket(int family,int ty ...
分类:
其他好文 时间:
2016-05-08 01:09:49
阅读次数:
300
socket编程,通信 client端 socket() >connect() >recv() > close(); server端 socket() >bind() > listen() >accept() >send() >close(); 1> socket(int family,int ty ...
分类:
其他好文 时间:
2016-05-08 01:08:13
阅读次数:
161
一、IO多路复用所谓IO多路复用,就是通过一种机制,一个进程可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。Linux支持IO多路复用的系统调用有select、poll、epoll,这些调用都是内核级别的。但select、poll、epoll本质上都是同步I/O,先是block住等待就绪的socket,再是block住将数据从内核拷贝到用户内存。当然...
分类:
其他好文 时间:
2016-05-06 08:13:59
阅读次数:
290
(以下内容来自网络和自己的总结,再次感谢网络中的大神们提供的见解)
在探索select poll epoll之前我们首先要知道什么叫多路复用:
下来探索一下为什么会用到多路复用:
首先我们看看一个客户端请求服务器的完整过程。首先,请求过来,要建立连接,然后再接收数据,接收数据后,再发送数据。
具体到系统底层,就是读写事件,而当读写事件没有准备好时,必然不可操作,如果不用非...
分类:
其他好文 时间:
2016-04-29 19:22:47
阅读次数:
227