Protothreads
From Wikipedia, the free encyclopedia
In computer science, a protothread is a low-overhead mechanism for concurrent programming.
Protothreads function as stackless, lightweight threads providing a blocking context cheaply using minimal memory per protothread (on the order of single bytes).
Protothreads are non-preemptable. Therefore, a context switch can only take place on blocking operations. Protothreads are also stackless, which means global variables are needed for preserving variables across context switches[1].
The protothread concept was developed by Adam Dunkels and Oliver Schmidt[2].
[edit] See also
[edit] References
- ^ A. Dunkels, O. Schmidt, T. Voigt, and M. Ali, Protothreads: Simplifying Event-Driven Programming of Memory-Constrained Embedded Systems, Proc. ACM SenSys, Boulder, CO, USA, Nov 2006. (PDF, Presentation slides)
- ^ http://www.sics.se/~adam/pt/
[edit] External links
- Protothread library in C used by Contiki
- Using Protothreads for Sensor Node Programming A PDF with some in-depth discussion about the use of Protothreads
- Protothread library requiring GCC, includes a thread scheduler modeled on the UNIX kernel (a simplified form of POSIX condition variables)
- Eigenclass performed a comparison of protothreads against POSIX threads, and found a 400x improvement in speed [1]
- C++ Protothread
- Symbian C++ Protothread Implementation
- Protothreads: Threads en C sin sistema operativo ni memoria RAM Publicación de Arte en 8 bits sobre los protothreads
| This computer programming-related article is a stub. You can help Wikipedia by expanding it. |