select,poll,epoll都是IO多路复用的机制。I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。但select,poll,epoll本质上都是同步I/O,因为他们都需要在读写事件就绪后自己负责进行读写,也就是说这个读写过程是阻塞的,而异步I/O则无需自己负责进行读写,异步I/O的实现会负责把数据从内核拷贝到用户空间。关于这三种IO多路复用的用法,前面三篇总结写的很清楚,并用服务器回射echo程序进行了测试。连接如下所示:select:http://www.cnblogs.com/Anker/archive/2013/08/14/3258674.htmlpoll:http://www.cnblogs.com/Anker/ar
发布时间:
2016-02-20 |
类别:
技术文章 | 阅读:183620 | 评论:0 |
标签:
io io io
在Linux上的lsof命令可以查看当前系统当前使用的文件情况,当然也可以查看网络Socket通信情况。$ lsof 查看所有系统IO操作$ lsof /etc/passwd 查看进程对文件系统的使用$ lsof -p <pid> 查看指定进程使用的IO情况,通常可以使用这个命令查看进程打开的文件。$ lsof -i@aaa.bbb.ccc 查看某个网络连接$ lsof -iTCP@aaa.bbb.ccc:ftp-data 查看某个指定协议的网络连接$ lsof -i4 或者 lsof -i6 查看某个指定协议的网络连接$ lsof -u<user> 查看某个用户的操作
发布时间:
2013-09-10 |
类别:
技术文章 | 阅读:188604 | 评论:0 |
标签:
io io