Здравствуйте, bnk, Вы писали:
bnk>Асинхронность обеспечивается на уровне OC. В Windows это OVERLAPPED, в Linux это libaio (io_submit) bnk>Ну насколько я знаю конечно. Последние много лет я ничего кроме веба не видел. Я не прав? Что у WriteAllTextAsync "под капотом"?
Я не знаю, что там в винде, в юниксе простейший способ это вызов read/write. Можно делать select для обработки нескольких дескрипторов в одном потоке, это сути не меняет, весь ввод/вывод осуществляется в строго определённой последовательности и ОС буферизует необработанные данные, пока программа их не запросит. Конечно можно с каждым дескриптором связать указатель на функцию и вызывать этот указатель, но это уже вопрос внутренней организации программы, по-разному можно делать.