[Stackless] Documentation of tasklet life cycle (was Re: Open Stackless issues)
a.kruis at science-computing.de
Wed Sep 4 23:03:22 CEST 2013
I made an improved version of the diagram:
Am 04.09.2013 19:33, schrieb Anselm Kruis:
> Am 04.09.2013 18:18, schrieb Andrew Francis:
>>> I just created a first draft of a state diagram for the tasklet life
>> >cycle. It is here:
>> >Any comments and suggestions are highly welcome.
>> Nice work. Some comments:
>> What is the difference between a tasklet that is not alive (i.e., not
>> bound to a callable) and a tasklet that is not alive (but bounded to a
>> callable). Should there be a dead state?
> Good point. There is a transition missing from "Bound" to "Not alive" on
>> Do you really need to distinguish between the "running" state and the
>> "running in scheduler" state? Isn't the difference between
>> stackless.run() and tasklet.run() a matter of when a tasklet is
> Good point. Indeed it is no longer necessary to distinguish these cases.
> With previous versions of Stackless, calling stackless.schedule_remove()
> cause exceptions if the current tasklet was not scheduled. Obviously
> this has been fixed in between. I didn't notice that until I tried to
> reproduce the exception just now.
>> Does a tasklet that is pickled or blocked on a channel require a special
>> state (since a tasklet blocked on a channel cannot be pickled)?
> Good point. I have no experience with channels at all. Obviously the
> diagram currently ignores tasklet.blocked, tasklet.restorable. And a
> pickled tasklet can be used to create an alive tasklet.
> Next version is coming soon.
Dipl. Phys. Anselm Kruis science + computing ag
Senior Solution Architect Ingolstädter Str. 22
email A.Kruis at science-computing.de 80807 München, Germany
phone +49 89 356386 874 fax 737 www.science-computing.de
Vorstandsvorsitzender/Chairman of the board of management:
Vorstand/Board of Management:
Dr. Bernd Finkbeiner, Michael Heinrichs,
Dr. Arno Steitz, Dr. Ingrid Zech
Vorsitzender des Aufsichtsrats/
Chairman of the Supervisory Board:
Sitz/Registered Office: Tuebingen
Registergericht/Registration Court: Stuttgart
Registernummer/Commercial Register No.: HRB 382196
More information about the Stackless