老师您好,今天突然想到了一个问题,就是关于aiofile这个库异步读写文件的原理,究竟是不是异步磁盘IO?
https://www.zhihu.com/question/52989189
在上面这个链接中,我看到都说,异步IO对磁盘IO是没有效果的。
https://www.v2ex.com/amp/t/343355
在第二个链接中,我看有人说aiofile底层还是用的同步IO,只是用多线程的方式将阻塞操作放在了子线程中进行,目的是不阻塞主线程,是这样么?
如果不是这样,那异步磁盘IO时,read这种方法,该如何被epoll监听到是可读事件?我理解在read时才会指明需要从文件句柄连接的文件里读多少个字节,再调用前内核也不知道我要读多少,就无从提起实现监听可读了
如果是这样,linux下是否无法异步读写文件?那像nginx或一些文件存储类的服务,该如何应对高并发下的磁盘io,只用线程应该是很影响性能的吧
登录后可查看更多问答,登录/注册