Re: Async IO в FileStream - реализация
От: Петрухин Эдуард Россия  
Дата: 05.05.17 14:09
Оценка:
Здравствуйте, Jack128, Вы писали:

J>Кто нить может пояснить вот это:

J>https://referencesource.microsoft.com/#mscorlib/system/io/filestream.cs,2568

J>насколько я знаю bytes должен быть зафиксирован до тех пор, пока запись полностью не завершится. А тут буфер разфиксируется сразу после вызова Win32Native.WriteFile. Как это работает??


Подозреваю, что в ядре делается копия записываемых данных, причём с выравниванием по границе страниц памяти. Копия делается синхронно, а на диск пишется асинхронно. Поэтому можно разфиксировать после возврата управления из Win32Native.WriteFile.
Повторюсь, это всего лишь моё предположение.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.