Я пытался понять, как ядро dotnet реализует асинхронный файловый ввод / вывод в Linux.Я проверяю исходный файл FileStream.Unix.cs
И вижу такой комментарий в методе WriteAsyncInternal:
// Параметры, доступные в Unixдля асинхронной записи в произвольный файл
// дескриптор обычно сводится к тому, чтобы просто использовать другой поток для синхронной записи,
//, что и делает эта реализация.
Так чтоКажется, он просто использует другой поток для синхронного ввода-вывода.
Мои вопросы:
- Разве в Linux нет вариантов для выполнения истинного асинхронного файлового ввода-вывода?Почему бы не использовать их?
- Есть ли какие-либо API в ядре dotnet, которые используют истинный асинхронный файловый ввод / вывод в Linux?