[Python-Dev] uthread strawman
Fri, 10 Nov 2000 13:39:24 +0200
Bill Tutt wrote:
> Guido van Rossum [mailto:firstname.lastname@example.org] wrote:
> > > Christian Tismer wrote:
> > > > Does anybody know of a useful example where continuations
> > > > are really needed?
> > [Bill Tutt]
Bill on [server architecture, async state machine]
> > Indeed, this kind of server architecture is typically done with
> > coroutines -- it's not a good argument for the full power of
> > continuations. :-)
> Hrm, but can I get enough info from the coroutine support to
> automatically determine which "work item queue" the paused routine
> should go into after the "blocking" operation completes?
> Additionally, the coroutine can't be stuck to only one system
> thread. That would be bad.
Coroutine vs. continuation isn't the point here, I think.
What you would likely need is gathering information about
the frames and variables in your co-whatever. This is quite
simple to implement, with either architecture.
My next version will not only allow to inspect the eval
stack of a frame, but also inspection and modification
of local variables; still this is no continuation feature.
We can simply inspect anything.
What makes the difference is callability:
Whenever we expose arbitrary frames as callable objects,
or we provide an unrestricted other way to execute them,
then exactly all the problems and consequences of
continuations pop up: we need to clone execution state,
since now it is possible to have more than one state for
If we avoid this, we can still have all control and debugging
features with coroutines.
ciao - chris
Christian Tismer :^) <mailto:email@example.com>
Mission Impossible 5oftware : Have a break! Take a ride on Python's
Kaunstr. 26 : *Starship* http://starship.python.net
14163 Berlin : PGP key -> http://wwwkeys.pgp.net
PGP Fingerprint E182 71C7 1A9D 66E9 9D15 D3CC D4D7 93E2 1FAE F6DF
where do you want to jump today? http://www.stackless.com