La logica dietro 'Asyncio.wait ()' e async / await, lo stesso, solo il codice è scritto in modo diverso (sintassi)?

0

Sto imparando Python, in particolare la programmazione parallela usando Python Parallel Programming Cookbook di Giancarlo Zaccone .

Al momento della pubblicazione del libro async / await era ancora nella versione beta di Python e così, il libro non lo copre. Copre Asyncio. Ora con il rilascio di Python 3.5, async / await è stato implementato in Python.

Quali sono le differenze tra Asyncio.wait() e async / await? È solo una differenza di sintassi?

    
posta Daenyth 20.11.2015 - 16:25
fonte

1 risposta

2

Vedi questo eccellente post sul blog . In breve, asyncio è una libreria di loop di eventi (introdotta in 3.4) focalizzata sull'I / O e in particolare sulla rete. Ha introdotto il decoratore asyncio.coroutine per consentire di identificare i generatori destinati a essere utilizzati come coroutine. In qualsiasi generatore, puoi yield from di qualsiasi altro generatore (o coroutine).

In 3.5 sono state introdotte le parole chiave async e await . Puoi solo await all'interno di una funzione async e puoi solo await su una coroutine o Awaitable . Non puoi await un generatore generale e non puoi utilizzare yield o yield from . Questo aiuta a proteggere contro l'utilizzo accidentale di un generatore come coroutine.

async e await sono abbastanza generali da essere utilizzati con qualsiasi fornitore di loop di eventi e asyncio sembra essere uno.

    
risposta data 19.03.2018 - 21:40
fonte