Protoflow

Un protothread  este o unitate de procesare software furnizată de un software special care vă permite să nu utilizați mecanismele de threading ale sistemului de operare , una dintre formele de implementare a coroutinelor .

Funcționând ca fire de execuție „ușoare” care nu folosesc stiva , protothread-urile oferă un context de blocare cu prețul risipei de octeți de memorie per fir. Deoarece protothread-urile nu folosesc stiva, trebuie să utilizați variabile globale pentru a salva valorile prin comutatoarele de context [1] . Protothread-urile sunt nepreemptable, astfel încât schimbarea contextului este posibilă numai în operațiunile de blocare.

Conceptul de protoflow a fost dezvoltat de Adam Dunkels și Oliver Schmidt [2] . Au fost implementate mai multe biblioteci protothreading diferite pentru C și C++ .

Note

  1. A. Dunkels, O. Schmidt, T. Voigt și M. Ali, Protothreads: Simplifying Event-Driven Programming of Memory-Constrained Embedded Systems , Proc. ACM SenSys , Boulder, CO, SUA, noiembrie 2006. ( PDF Arhivat 28 iulie 2020 la Wayback Machine , Diapozitive de prezentare Arhivat 28 iulie 2020 la Wayback Machine )
  2. Site-ul lui Adam Dunkels . Preluat la 10 septembrie 2016. Arhivat din original la 9 decembrie 2019.