[En-Nut-Discussion] ANN: The Protothreads Library version 1.0

Adam Dunkels adam at sics.se
Thu Feb 24 14:29:21 CET 2005


Folks,

I am proud to announce the release of the Protothreads Library version
1.0:
                      http://www.sics.se/~adam/pt/

Protothreads are extremely lightweight stackless threads designed for
severely memory constrained systems such as deeply embedded systems or
sensor network nodes. Protothreads provide linear code execution for
event-driven systems implemented in C. Protothreads can be used with
or without an underlying operating system.

Protothreads provide a blocking context on top of an event-driven
system, without the overhead of per-thread stacks. The purpose of
protothreads is to implement sequential flow of control without
complex state machines or full multi-threading. Protothreads provide
conditional blocking inside C functions.

Main features:

    * No machine specific code - the protothreads library is pure C
    * Does not use error-prone functions such as longjmp()
    * Very small RAM overhead - only two bytes per protothread
    * Can be used with or without an OS
    * Provides blocking wait without full multi-threading or
      stack-switching 
    * Freely available under a BSD-like open source license 

Example applications:

    * Memory constrained embedded systems
    * Event-driven protocol stacks    
    * Sensor network nodes

The protothreads library is released under an open source BSD-style
license that allows for both non-commercial and commercial usage. The
protothreads library was written by Adam Dunkels <adam at sics.se>
with support from Oliver Schmidt <ol.sc at web.de>.

/adam
-- 
Adam Dunkels, Swedish Institute of Computer Science
http://www.sics.se/~adam/, <adam at sics.se>

-- 
Adam Dunkels, Swedish Institute of Computer Science
http://www.sics.se/~adam/, <adam at sics.se>





More information about the En-Nut-Discussion mailing list