The Protothreads Library version 1.0

Feb 24, 2005 2 Replies

Folks,



I am proud to announce the release of the Protothreads Library version



1.0:
formatting link

Protothreads are extremely lightweight stackless threads designed for severely memory constrained systems such as small 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 with support from Oliver Schmidt .



/adam


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

Consider editing the "printable versions" of your web pages. The sample code is unformatted and unreadable. Use the HTML tag appropriately.

Thad

I had missed looking at the printable version of the examples page, and indeed it looked horrible! It should be fixed now. (And for the record: the tag didn't do the trick as it didn't preserve line breaks. I had to go for the tag instead.)

Thanks for the heads-up,

/adam

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

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required