阻塞、非阻塞IO、异步通知的区别 参考:Linux设备驱动开发详解 --宋宝华 一:它们在时间上先后顺序不同: 1.阻塞IO首先是发起读写IO操作,然后系统会调用读写IO的函数,内核在调度这个读写操作任务时会检查资源是否可获得,由于是阻塞IO,所以系统的任务调度会一直等待(阻塞)在这里(当然,2.6是可抢占内核,不会让这个程序...
void up(struct semaphore * sem); 2 .关于阻塞/非阻塞IO 阻塞和非阻塞I/O 是设备访问的两种不同模式,驱动程序可以灵活地支持用户空间对设备的这两种访问方式。 阻塞操作是指在执行设备操作时若不能获得资源则挂起进程,直到满足可操作的条件后再进行操作。被挂起的进程进入休眠状态,被从调度器的运行队列移走,直...
一、认识NIO 1.1 同步与异步 同步:串行执行下去,下一步等待上一步结果。 异步:不等待请求结果,直接执行下一步,上一步的结果通过回调或通知机制告知。 1.2 阻塞与非阻塞 阻塞: 执行阻塞代码,必须等待返回。 非阻塞:等待返回的同时,可以准备其他事情。 1.3 同步好处 a.流程简单,清晰明白,接近自然语言理解规律。 b...