io多路复用有读事件发生时read是同步io吗
不是。在IO多路复用中,当有读事件发生时,读操作使用的是非阻塞IO(non-blocking IO),而不是同步IO。
在非阻塞IO中,读操作会立即返回,无论是否有数据可读。如果没有数据可读,读操作会返回一个错误码(例如EWOULDBLOCK或EAGAIN),而不会阻塞等待数据的到来。这样,程序可以继续处理其他任务,而不必等待数据的到来。
因此,IO多路复用结合非阻塞IO,可以实现同时监听多个文件描述符的读事件,以及在有读事件发生时立即进行读取操作,而不会阻塞等待。这样可以更高效地处理并发IO操作。
原文地址: http://www.cveoy.top/t/topic/iou7 著作权归作者所有。请勿转载和采集!