(original) (raw)
On Fri, May 1, 2015 at 1:22 PM, Antoine Pitrou <solipsis@pitrou.net> wrote:
On Fri, 1 May 2015 13:10:01 -0700
Guido van Rossum <guido@python.org> wrote:
I think Jim is saying that when you have a non-trivial task running> On Fri, May 1, 2015 at 12:48 PM, Jim J. Jewett <jimjjewett@gmail.com> wrote:
\>
\> > If there are more tasks than executors, yield is a way to release your
\> > current executor and go to the back of the line. I'm pretty sure I
\> > saw several examples of that style back when coroutines were first
\> > discussed.
\> >
\>
\> Could you dig up the actual references? It seems rather odd to me to mix
\> coroutines and threads this way.
in the event loop, you can "yield" from time to time to give a chance
to other events (e.g. network events or timeouts) to be processed
timely.
Of course, that assumes the event loop will somehow priorize them over
the just yielded task.
Yeah, but (unlike some frameworks) when using asyncio you can't just put a plain "yield" statement in your code. You'd have to do something like \`yield from asyncio.sleep(0)\`.