如何在 Linux 上的 dotnet core 中使用真正的异步文件 I/O?

Stu*_*222 5 .net c# linux asp.net .net-core

我试图了解 dotnet core 如何在 Linux 上实现异步文件 I/O。我检查了FileStream.Unix.cs的源文件

我在 WriteAsyncInternal 方法中看到这样的评论:

// Unix 上可用于异步写入任意文件的选项
// 句柄通常相当于仅使用另一个线程进行同步写入,
// 这正是此实现的作用。

所以看起来它只是使用另一个线程来执行同步 I/O。

我的问题是:

  1. Linux 中没有选项可以执行真正的异步文件 I/O 吗?为什么不使用它们呢?
  2. dotnet core 中是否有任何在 Linux 上使用真正的异步文件 I/O 的 API?