linux下阻塞与非阻塞

1阻塞与非阻塞由应用层传递flag,驱动层根据flag进行相应的操作,其实现本质还是在驱动层,如果阻塞模式则应用层在open时传入阻塞
参数. 在read数据时,若底层数据尚未准备好,则驱动层就会进行休眠.知道有数据时驱动层此时才会操作/dev/xx设备,对于应用层而言此时才能在/dev/xx对应的文件句柄读取到数据.(如果是select机制则对应得该句柄就会置位)

2应用层的select/poll/epoll机制与驱动层阻塞与非阻塞无关系,这是应用层实现的一套文件句柄监测机制,当句柄发生变化那么驱动层肯定是有数据反回来.

https://www.cnblogs.com/lialong1st/p/7756671.html
https://www.cnblogs.com/amanlikethis/p/6913376.html
https://blog.csdn.net/weixin_43971252/article/details/90177691

原文地址:https://www.cnblogs.com/retry/p/11911109.html