Skip to content

stackless-dev/stacklesslib

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Stacklesslib

This is a pure python library providing support functionality for Stackless Python

It provides synchronization primitives, event loops, context managers and other goodies.

Description

Stackless Python by itself only provides a basic set of functionality, allowing either cooperative or preemptive scheduling of microthreads within the same operating system thread. This framework provides the additional support that anyone developing an application using Stackless Python will end up eventually implementing.

The most useful aspect is the monkey-patching support. Much of the code in the standard library does blocking operations, or perhaps is even written to make use of threads. If the monkey-patching is installed, then these blocking operations are converted to be “Stackless friendly”. Threads will actually be tasklets. Operations that block the operating system thread (and therefore the Stackless scheduler) will be converted to simply block the tasklet that is standing in for the threads that would otherwise be used.

Even if an application developer does not wish to make use of monkey-patching, they can still make use the framework provided so that they do not need to implement the standard supporting functionality themselves.

Useful supporting functionality:

  • Concurrency-related primitives corresponding to those that the standard library threading module provides for real threads.
  • Ability to put tasklets to sleep for a set amount of time.
  • Ability to specify timeouts for blocking operations.
  • Stackless compatible socket library.

About

A support library for stackless python

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages