非阻塞IO
阻塞与非阻塞
3.6.1.2、为什么有阻塞式
(1)常见的阻塞:wait、 pause、 sleep等函数;read或 write某些文件时
(2)阻塞式的好处:没有降低cpu的性能,等(阻塞)可以先让出来给其他执行,这样CPU 能实时工作。
6.1.3、非阻塞
(1)为什么要实现非阻塞:为了某些时候提高效率
(2)如何实现非阻塞Io访问:0_NONBLOCK 和 fcnt1
并行IO解决方案:
1、利用文件非阻塞的方式来解决
2、IO多路复用
(1)IO multiplexing
(2)用在什么地方?多路非阻塞式
(3) select和poII
(4)外部阻塞式,内部非阻塞式自动轮询多路阻塞式Io
3.6.4.2、 select函数介绍
具有监听功能
int select(int nfds, fd_set *readfds, fd_set *writefds,fd_set *exceptfds, struct timeval *timeout);