operazione di sovrapposizione in Microsoft Windows non significa altro come asynchron in tutti gli altri OS-lingua.
Per attenersi all'esempio, si avvia una lettura su un socket e non si attende il successo ma si fa qualcosa di completamente diverso (magari si legge su un socket diverso (!)). Quindi chiedi se la prima operazione è finita. Puoi anche impostare un evento per questo. O dare una funzione CALLBACK
che viene chiamata al completamento. In questo caso, la prima chiamata "ha sovrapposto" il resto delle operazioni.
Vedere anche wikipedia.
La mia ipotesi sul motivo per cui Microsoft è (lo era) chiamandolo sovrapposto è che non è come iniziare un thread, è più come avviare un'attività asincrona alla volta non c'era un nome standard per questo. È più simile a std::async
rispetto a std::thread
.
fonte
2015-02-22 12:35:05
Tutti gli altri chiamano questo "I/O asincrono". – rightfold
Bene, è possibile emettere una richiesta di lettura (o più richieste di lettura per gli stessi socket o diversi). La lettura effettiva verrà eseguita per te e sarai avvisato al completamento. –
È perché è possibile eseguire più operazioni di I/O contemporaneamente, cioè si sovrappongono l'un l'altro. –