Yanghao Hua <yanghao...@gmail.com> added the comment:
This unfortunately contradicts to all the other concurrency semantics I know, I have myself implemented various event-driven schedulers and none of them would behave like this. Consider an OS as the simplest example, you have a main thread that starts many child threads, there shouldn't be a single case (not even a possibility) that starting a child thread would block the main thread. And coming back to this particular example, semantically equivalent code, producing completely different behavior for me is a major bug. The correct way to implement "await a_task" should be like "process().run()", rather than waiting for completion. After all, "await t0" did *NOT* wait until t0's completion! but if you wrote "await create_task()" it does wait ...! seems not right to me. I strongly ask for a second opinion before we close this bug ... On Mon, Apr 5, 2021 at 11:23 PM Zachary Ware <rep...@bugs.python.org> wrote: > > > Zachary Ware <zachary.w...@gmail.com> added the comment: > > You missed something :) > > By immediately awaiting the result of `create_task`, you're synchronizing > thing. It's the same as just rearranging the lines of the first example to: > > t0 = create_task(task("T0", 10)) > print("starting tasks ...") > await t0 > t1 = create_task(task("T1", 10)) > await t1 > > Basically, `t1` simply doesn't exist yet when you ask `t0` to run to > completion. > > ---------- > nosy: +zach.ware > resolution: -> not a bug > status: open -> pending > > _______________________________________ > Python tracker <rep...@bugs.python.org> > <https://bugs.python.org/issue43736> > _______________________________________ ---------- status: pending -> open _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue43736> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com