posted by Thom Holwerda on Sun 18th Jan 2009 11:16 UTC, submitted by anonymous
IconProtothreads are a type of extremely lightweight threads - each protothread requires only two bytes of memory - that are usually used for embedded firmware programming, where memory is at a premium. Protothreads combine the low overhead with event-driven programming with the algorithmic clarity of threaded programming.

Larry Ruane from LeftHand Networks Inc. has written a protothreads library for Unix systems that, unlike Adam Dunkels' original library, contains a complete scheduler that allows several protothreads to run inside a regular thread. Ruane's protothreads are implemented in less than 400 lines of C code using gcc's labels-as-values feature. The project wiki has a thorough explanation of how protothreads work and how they are intended to be used. The open source code can be downloaded from the project's SourceForge page.

e p (5)    16 Comment(s)

Technology White Papers

See More