[Async-sig] concurrency mistake
Dima Tisnek
dimaqq at gmail.com
Tue Aug 28 07:30:48 EDT 2018
What Bret said, here (perhaps) more concise:
async def main():
f1 = ensure_future(say("two", 2))
f2 = ensure_future(say("one", 1))
# at this point both are running
await f1
await f2
Note that current event loop is automatic since Python 3.6; Futures are
higher level abstraction, but I think it's better to start with futures :)
On Mon, 27 Aug 2018 at 5:47 PM, saurabh singh <saurabh3460 at gmail.com> wrote:
> my question is 1st one is concurrent but 2nd one is not, how and please
> correct me, what i miss and what should i know more
> thank you
>
> import asyncio
>
> # 1st code
> async def say(what, when):
> await asyncio.sleep(when)
> print(what)
>
> loop = asyncio.get_event_loop()
>
> loop.create_task(say('first hello', 2))
> loop.create_task(say('second hello', 1))
>
> loop.run_forever()
> loop.close()
>
> '''
> result
> >>> second hello
> >>> first hello
> '''
>
> # 2nd code
> async def say(what, when):
> await asyncio.sleep(when)
> print(what)
>
> async def main(loop):
> yield from loop.create_task(say('first hello', 2))
> yield from loop.create_task(say('second hello', 1))
> print('close')
>
> loop = asyncio.get_event_loop()
> loop.run_until_complete(main(loop))
> loop.close()
>
> '''
> result
> >>> first hello
> >>> second hello
> '''
>
> _______________________________________________
> Async-sig mailing list
> Async-sig at python.org
> https://mail.python.org/mailman/listinfo/async-sig
> Code of Conduct: https://www.python.org/psf/codeofconduct/
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/async-sig/attachments/20180828/00ef23bb/attachment.html>
More information about the Async-sig
mailing list