Асинхронные вызовы даже не обязательно должны происходить в той же системе / устройстве, что и вызывающая вызов. Итак, если вопрос в том, требует ли асинхронный вызов потока в текущем процессе, ответ - нет. Однако где-то должен быть поток выполнения, обрабатывающий асинхронный запрос.
Поток исполнения - это расплывчатый термин. В системах кооперативного управления задачами, таких как ранние ОС Macintosh и Windows, поток выполнения мог быть просто тем же процессом, который выполнял запрос, выполняя другой стек, указатель инструкций и т. Д. Однако когда люди обычно говорят об асинхронных вызовах , они обычно означают вызовы, которые обрабатываются другим потоком, если он является внутрипроцессным (т. е. в рамках того же процесса), или другим процессом, если он является межпроцессным.
Обратите внимание, что межпроцессное (или межпроцессное) взаимодействие (IPC) обычно обобщается, чтобы включать внутрипроцессное взаимодействие, поскольку методы блокировки и синхронизации данных обычно одинаковы, независимо от того, в каком процессе выполняются отдельные потоки выполнения.