阻塞操作
是指在执行设备操作时若不能获得资源则挂起进程,直到满足可操作的条件后再进行操作。
被挂起的进程进入休眠状态,被从调度器的运行队列移走,直到等待的条件被满足。
非阻塞操作
进程在不能进行设备操作时并不挂起,它或者放弃,或者不停地查询,直至可以进行操作为止。
fd = open("…", O_RDWR | O_NONBLOCK); //传入O_NONBLOCK是非阻塞,不传入的默认阻塞
018_linux驱动之_阻塞和非阻塞看看人家的:
简述linux同步与异步、阻塞与非阻塞概念以及五种IO模型