La parola chiave async è la sostituzione definitiva per il modulo asyncio?

1

Recentemente, c'è stato un aumento di interesse verso la programmazione asincrona nella comunità Python. La prima espressione di spicco di questo interesse è stata la comparsa di Asyncio -codenamed Tulip- framework [PEP 3156] nella libreria standard, quindi, dopo un paio di anni, la capacità di scrivere codice asincrono è stata introdotta nel nucleo del linguaggio tramite async def construction [PEP 0492].

Alcuni sviluppatori principali che hanno partecipato alla progettazione di Asyncio sostengono che quest'ultima beneficerà effettivamente di async introduzione alla parola chiave [Andrew Svetlov su Google Plus] . Dal mio punto di vista, però, sembra che async abbia praticamente le stesse funzionalità di Asyncio. Forse mi manca solo qualcosa.

Quindi la domanda è: async prenderà il controllo di Asyncio, o sono davvero così diversi?
Asyncio era solo un parco giochi prima che async fosse stato approvato?
Altrimenti, come fa Asyncio a sfruttare i nuovi poteri di async del linguaggio?

    
posta Gilmour 16.07.2015 - 10:45
fonte

1 risposta

1

asyncio è un set di librerie . PEP e implementazione definiscono le astrazioni del ciclo degli eventi, i protocolli per le attività che interagiscono con il ciclo degli eventi e varie classi di I / O e primitive di concorrenza che possono essere utilizzate nel codice asincrono. Il modo di scrivere queste attività è / era scrivere un generatore e il modo di attendere il completamento di un'altra attività è / era a yield from that_task .

aync estende il linguaggio con un modo diverso di scrivere generatori (qui chiamato coroutine per evitare confusione) che è simile ma più potente e utile per scrivere compiti asincroni con asyncio (e altro , loop di eventi simili). await è come yield from concettualmente e in pratica. async PEP non definisce alcuna API (tranne le bare bare per supportare il nuovo tipo built-in), e non influenza affatto la asyncio API . È semplicemente un modo migliore di usare asyncio .

    
risposta data 16.07.2015 - 11:10
fonte

Leggi altre domande sui tag