Protothreads are a type of extremely lightweight, stackless threads written in 100% portable C. While protothreads were originally designed for severely memory-constrained systems such as deeply embedded systems, they have found a number of uses as a general purpose portable library as well.