非阻塞IO与异步IO的区别
对于非阻塞IO而言,当内核中数据准备好的时候,数据会从内核空间拷贝到用户内存中,这个时候进程是被block了,在这段时间内,进程是被block的。
而异步IO则不一样,当进程发起IO 操作之后,就直接返回再也不理睬了,直到内核通过回调函数发送一个信号,通知进程IO完成。在这整个过程中,进程完全没有被阻塞。
对于非阻塞IO而言,当内核中数据准备好的时候,数据会从内核空间拷贝到用户内存中,这个时候进程是被block了,在这段时间内,进程是被block的。
而异步IO则不一样,当进程发起IO 操作之后,就直接返回再也不理睬了,直到内核通过回调函数发送一个信号,通知进程IO完成。在这整个过程中,进程完全没有被阻塞。