▲长按图片保存可分享至朋友圈
微信公众号:嵌入式开发圈
关注可了解更多的教程。问题或建议,请公众号留言;
文章学习收集网络相关知识点进行整理,如有侵权,请联系删除。
小编准备写一本有关嵌入式产品方面的书,投票看看大家希望我写啥?如果觉得想法可以增多,欢迎留言区讨论,写写各位圈友的支持!
提出问题
在Linux编程中,一切皆文件,往往是对一个文件进行操作,比如说串口,和传感器打交道,一般情况下就是一来一去,一收一发,但是,如果我有多个传感器,而传感器之间又有关联,我想同时监控一个或者多个以上的文件描述符,要如何去实现这个需求呢?
解决问题
Linux健全的API已经为我们提供了解决问题的方法,在此我们引入select()函数、poll函数。
select()和poll()本质上来讲做的是同一件事,只是完成的方法不一样。两者都通过检验一组文件描述符来检测是否有特定的时间将在上面发生并在一定的时间内等待其发生。
[重要事项:无论select()还是poll()都不对普通文件起很大作用,它们着重用
于套接口(socket)、管道(pipe)、伪终端(pty)、终端设备(tty)和其他一些字符设备,但是这些操作都是系统相关(system-dependent)的。]