This commit is contained in:
@ -2,11 +2,14 @@
|
||||
title: linux aio 异步io
|
||||
---
|
||||
|
||||
> linux 下的 aio 有 glibc 的和内核所提供的,glibc 是使用的多线程的模式模拟的,另外一种是真正的内核异步通知了,已经使用在了 nginx 上,前面看了一下 swoole 的实现,是类似与 glibc 那种多线程的模式。不过两种方法都有一定的毛病,多线程模拟自然是有所效率损失,然而内核不能利用系统的缓存,只能以 O_DIRECT 方式做直接 IO,所以看知乎上有一个**linux 下的异步 IO(AIO)是否已成熟?**的问题,不过那是 2014 年的事情了,不知道现在怎么样。
|
||||
> linux 下的 aio 有 glibc 的和内核所提供的,glibc 是使用的多线程的模式模拟的,另外一种是真正的内核异步通知了,
|
||||
> 已经使用在了 nginx 上,前面看了一下 swoole 的实现,是类似与 glibc 那种多线程的模式。
|
||||
> 不过两种方法都有一定的毛病,多线程模拟自然是有所效率损失,然而内核不能利用系统的缓存,只能以 O_DIRECT 方式做直接 IO,所以看知乎上有一个
|
||||
> **linux 下的异步 IO(AIO)是否已成熟?** 的问题,不过那是 2014 年的事情了,不知道现在怎么样。
|
||||
|
||||
在此之前需要安装好 **libaio**
|
||||
|
||||
```
|
||||
```bash
|
||||
sudo apt install libaio-dev
|
||||
```
|
||||
|
||||
|
Reference in New Issue
Block a user