Linux中select函数使用详解.pdfVIP

  • 4
  • 0
  • 约6.16千字
  • 约 6页
  • 2017-05-29 发布于天津
  • 举报
Iinux中select函数的使用 阻塞式I/O 编程有两个特点: 一、如果一个发现I\O 有输入,读取的过程中,另外一个也有了输入,这时候不会产生任何 反应,也就是需要你的程序语句去select 的时候才知道有数据输入。 二、程序去 select 的时候,如果没有数据输入,程序会一直等待,直到有数据位置,也就 是程序中无需循环和sleep 。 Select 在Socket 编程中还是比较重要的,可是对于初学Socket 的人来说都不太爱用Select 写程序,他们只是习惯写诸如connect、accept、recv 或 recvfrom 这样的阻塞程序(所谓 阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生, 如果事件没有发生,进程或线程就被阻塞,函数不能立即返回)。可是使用Select 就可以完 成非阻塞(所谓非阻塞方式 non-block,就是进程或线程执行此函数时不必非要等待事件 的发生,一旦执行肯定返回,以返回值的不同来反映函数的执行情况,如果事件发生则与 阻塞方式相同,若事件没有发生则返回一个代码来告知事件未发生,而进程或线程继续执 行,所以效率较高)方式工作的程序,它能够监视我们需要监视的文件描述符的变化情况—— 读写或是异常。下面详细介绍一下!

文档评论(0)

1亿VIP精品文档

相关文档