Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-devel / 2009-01

Protothreads for UNIX (maybe for FPC?)

1 message · 1 person ·

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Graeme Geldenhuys

I thought somebody might find this interesting. And it's only 400 lines of C code.

Originally posted at:
http://osnews.com/story/20793/Protothreads_for_UNIX

Protothreads [http://en.wikipedia.org/wiki/Protothreads] 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 [http://www.sics.se/~adam/dunkels06protothreads.pdf] of threaded programming.

Larry Ruane from LeftHand Networks Inc. has written a protothreads library for Unix systems [http://protothread.wiki.sourceforge.net/] 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
[http://gcc.gnu.org/onlinedocs/gcc/Labels-as-Values.html] feature. The project wiki [http://protothread.wiki.sourceforge.net/] 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
[http://sourceforge.net/project/showfiles.php?group_id=248874&package_id=304459].

Regards,
- Graeme -

_______________________________________________
fpGUI - a cross-platform Free Pascal GUI toolkit
http://opensoft.homeip.net/fpgui/

Reply by email