阻塞操作
是指在执行设备操作时若不能获得资源则挂起进程,直到满足可操作的条件后再进行操作。
被挂起的进程进入休眠状态,被从调度器的运行队列移走,直到等待的条件被满足。
非阻塞操作
进程在不能进行设备操作时并不挂起,它或者放弃,或者不停地查询,直至可以进行操作为止。
fd = open("...", O_RDWR | O_NONBLOCK); //传入O_NONBLOCK是非阻塞,不传入的默认阻塞

看看人家的:
018_linux驱动之_阻塞和非阻塞
原文:https://www.cnblogs.com/luxiaoguogege/p/9690252.html