之前一直都弄错了select的第三参数的作用,一直以为是监控文件是否输出数据,这几天不知道怎就用到select了,结果一写就跟想的不一样,上网查了才知道第三个参数的作用是用来监视文件是否可以写入数据,我就想了想那这有啥用,额。
上面的程序运行的时候,秒结束,就说明了文件是一直都可以写入的。额,其实想问问这个参数具体有什么作用,比如用在什么地方
例如生产者消费者模型吧,生产者不能一直生成,总有缓冲区满的时候,这第三个参数可以对应驱动里的某个缓冲区,当这个缓冲区满的时候,就处于写等待的状态。还有一个例子,就是管道,管道中数据没有被取出,也需要等待是否可写,如果是写标准输出的话,那肯定是一直可写啦。
https://www.bilibili.com/video/BV1fg411376j/?spm_id_from=333.999.0.0&vd_source=1f69ec13192190b18c1cf7a44f289bce
https://subingwen.cn/linux/select/
三眼两语说不清,可以看看这个。