[Python-Dev] Importance of "async" keyword

Nick Coghlan ncoghlan at gmail.com
Tue Jul 7 14:40:37 CEST 2015

On 7 July 2015 at 06:08, Sven R. Kunze <srkunze at mail.de> wrote:
> I would like to rewrite/amend it to work asynchronously with minimal effort
> such as:
> def business_new():
>     content1 = fork open('big.file').read()  # wraps up the calls into
> awaitables
>     content2 = fork open('huge.file').read() # and put them into the event
> loop
>     return content1 + content2               # variables are used => await
> evaluation
> I might have missed something but I think you get my point.

No, you haven't missed anything, but I think the convenience APIs
we're discussing in this thread are what you need, rather than

Specifically, your main application would remain synchronous, but the
event loop could be used to run selected operations in a background

    def business_new():
        future1 = asyncio.call_async(open('big.file').read)
        future2 = asyncio.call_async(open('huge.file').read)
        content1 = asyncio.wait_for_result(future1)
        content2 = asyncio.wait_for_result(future2)
        return content1 + content2


Nick Coghlan   |   ncoghlan at gmail.com   |   Brisbane, Australia

More information about the Python-Dev mailing list