Le chiamate asincrone non devono nemmeno verificarsi sullo stesso sistema/dispositivo di quello che ha richiamato la chiamata. Quindi se la domanda è, una chiamata asincrona richiede un thread nel processo corrente, la risposta è no. Tuttavia, deve esistere un thread di esecuzione da qualche parte per l'elaborazione della richiesta asincrona.
Il thread di esecuzione è un termine vago. In un sistema collaborativo come i primi sistemi operativi Macintosh e Windows, il thread di esecuzione potrebbe essere semplicemente lo stesso processo che ha fatto in modo che la richiesta eseguisse un altro stack, puntatore di istruzioni, ecc ... Tuttavia, quando le persone parlano generalmente di chiamate asincrone , in genere indicano chiamate gestite da un altro thread se è intra-processo (cioè all'interno dello stesso processo) o da un altro processo se è inter-processo.
Nota che la comunicazione tra processi (o interprocesso) (IPC) è comunemente generalizzata per includere la comunicazione intra-processo, poiché le tecniche per il blocco e la sincronizzazione dei dati sono solitamente le stesse indipendentemente da quale processo i thread separati di esecuzione run in.
http://social.msdn.microsoft.it/Forums/it/csharplanguage/thread/3de8670c-49ca-400f-a1dc-ce3a3619357d –
JavaScript non ha thread, ma ha chiamate di metodo asincrone. – Ajedi32
Qualsiasi sistema in cui un processo gestisce più sottoprocessi, il processo di controllo può fornire operazioni asincrone dei processi secondari. Nel caso di JavaScript, il browser fornisce il flusso di calcolo. Quando alcune funzioni effettuano una chiamata asincrona, il browser può memorizzare il contesto per quella funzione. Ora lo stesso thread del browser singolo può cambiare contesto per riprendere l'esecuzione di un'altra funzione. Mentre nei programmi multi-thread tradizionali, un thread esegue un blocco funzione per consentire ad un altro thread di eseguire una funzione diversa. Ogni thread esegue la propria funzione in modo sincrono. – Mike