An introduction for newcomers
Stackless Python is an enhanced version of the Python programming language. It allows programmers to reap the benefits of thread-based programming without the performance and complexity problems associated with conventional threads. The microthreads that Stackless adds to Python are a cheap and lightweight convenience which can if used properly, give the following benefits:
- Improved program structure.
- More readable code.
- Increased programmer productivity.
For all the convenience gained through using Stackless, there is really only a minimal amount of functionality exposed through the stackless module. You can get more familiar with these aspects by reading the nformation provided in the following pages:
- Microthreads: tasklets wrap functions allowing them to be launched as microthreads.
- Channels: channels can be used for bidirectional communication between tasklets.
- Scheduling: a round robin scheduler is built in. It can be used to schedule tasklets either cooperatively or preemptively.
- Serialisation: tasklets can be serialised to disk through pickling for later resumption of execution.
You either need to compile your own copy from the source code in the Mercurial repository or alternatively obtain a providedprecompiled binaries, especially if you use Microsoft Windows, to install over those in your existing Python installation.
Learning to use Stackless
There are currently five main places that you can look to for information on how to use Stackless:
- The documentation: 2.7.6, latest
- The tutorial “Introduction to Concurrent Programming with Stackless Python“, written by Grant Olson. [mirror]
- The mailing list archives.
Old documentation can also be found on the original Stackless site.
Developing Stackless into a rock solid basis for applications is a lot of hard work and it needs more Sprints and much of my personal time. You can help me by sending money. The more money I get for working on Stackless, the more I can reduce work on other projects, since I have to feed a big family.
A number of people said that they would like to sponsor me with a little amount if it were easy to do. Therefore, I signed up with PayPal, where you can send your contribution quite easily:
<- please click here for PayPal!
Please enter a note whether you would like to be listed on the sponsorship page. Thanks in advance!