Linux中select函数学习及实例笔记
2016-06-05 21:49
399 查看
点击打开链接http://zyg0227.blog.51cto.com/1043164/554208
Unix中的函数select和poll用来,支持Unix中I/O复用的功能,在Unix中I/O模型可以分为以一几种:
(1)阻塞I/O
(2)非阻塞I/O
(3)I/O复用(select和poll)
(4)信号驱动I/O(SIGIO)
(5)异步I/O
其中,现在比较流行的I/O模型是阻塞I/O模型.阻塞I/O是当应用程序和内核交换数据时,由于内核还没有准备好数据,那么应用程序必须进行阻塞,不能继续执行,直到内核的数据准备好!应用程序取到数据返回后,阻塞过程结束!但返回的结果也并不一定是正确的!这里只是举一个简单的例子!也许情况会更加的复杂!
非阻塞I/O,例如在和内核交换数据时,如果内核的数据没有准备好,那么应用程序不会一真等待,会有一个返回信息,以判断是那里出了问题!这样有助于确认是在那个阶段出了问题!
I/O复用,我们就可以调用系统调用select和poll!在这两个系统调用中的某一个阻塞,而不是真正的阻塞I/O系统调用!
Unix中的函数select和poll用来,支持Unix中I/O复用的功能,在Unix中I/O模型可以分为以一几种:
(1)阻塞I/O
(2)非阻塞I/O
(3)I/O复用(select和poll)
(4)信号驱动I/O(SIGIO)
(5)异步I/O
其中,现在比较流行的I/O模型是阻塞I/O模型.阻塞I/O是当应用程序和内核交换数据时,由于内核还没有准备好数据,那么应用程序必须进行阻塞,不能继续执行,直到内核的数据准备好!应用程序取到数据返回后,阻塞过程结束!但返回的结果也并不一定是正确的!这里只是举一个简单的例子!也许情况会更加的复杂!
非阻塞I/O,例如在和内核交换数据时,如果内核的数据没有准备好,那么应用程序不会一真等待,会有一个返回信息,以判断是那里出了问题!这样有助于确认是在那个阶段出了问题!
I/O复用,我们就可以调用系统调用select和poll!在这两个系统调用中的某一个阻塞,而不是真正的阻塞I/O系统调用!
相关文章推荐
- Linux基础篇八——基本进程调度算法总结
- linux小记:恍然大明白,sed命令中[commands]的格式
- CentOS中Intel i350T4驱动安装
- 7.Linux内核如何装载和启动一个可执行程序
- centos安装X window
- Linux下使用Wine出现中文乱码的解决方法
- 关于几个linux的小问题
- Spark源码学习——在linux环境下用IDEA看Spark源码
- linux 0.11 源码学习+ IO模型
- Linux常用命令复习
- Linux 远程控制
- linux下的mysql语句命令大全
- Linux 常用命令的总结
- sphinx全文索引教程
- 允许一系列IP地址访问
- Linux应用程序错误使用pthread_mutex_lock互斥锁触发SIG_ABRT信号的原因分析
- Kafka linux集群部署
- linux socket programing
- openstack m:CentOS 虚拟机动态IP
- centos6 伪分布式模式安装hadoop