Все функции Async IO
создают / используют порт завершения ввода-вывода, который представляет собой очередь запросов, отправленных процессом.Всякий раз, когда процесс делает Asynch IO call
, этот запрос отправляется в эту очередь.Затем специальный пул потоков обрабатывает эти запросы ввода-вывода, это kernel threads
.Поэтому, если вы рассматриваете этот системный подход (these kernel threads
) как часть вашей многопоточности, да, ваш код является многопоточным.
Если вы рассматриваете абстракцию, предоставленную вам посредством вызовов Async IO
, как отправную точку, то, вероятно,код не является многопоточным.
В любом случае выполняется несколько потоков, даже если они не являются выделенными потоками в вашем приложении, или они создаются перед запуском приложения и продолжают работатьпосле того, как ваша заявка существует.