Protoflöde

En protråd  är en enhet för mjukvarubehandling som tillhandahålls av speciell programvara som gör att du inte kan använda operativsystemets trådningsmekanismer , en av formerna för att implementera koroutiner .

Genom att fungera som "lättvikts"-trådar som inte använder stacken ger protrådar ett blockerande sammanhang till priset av att slösa byte av minne per tråd. Eftersom protrådar inte använder stacken, måste du använda globala variabler för att spara värden över kontextväxlar [1] . Protrådar är inte förvägsbara, så kontextväxling är endast möjlig vid blockeringsoperationer.

Konceptet med protoflöden utvecklades av Adam Dunkels och Oliver Schmidt [2] . Flera olika protothreading-bibliotek för C och C++ har implementerats .

Anteckningar

  1. A. Dunkels, O. Schmidt, T. Voigt och M. Ali, Protothreads: Simplifying Event-Driven Programming of Memory-Constrained Embedded Systems , Proc. ACM SenSys , Boulder, CO, USA, nov 2006. ( PDF Arkiverad 28 juli 2020 på Wayback Machine , Presentationsbilder Arkiverad 28 juli 2020 på Wayback Machine )
  2. Adam Dunkels hemsida . Hämtad 10 september 2016. Arkiverad från originalet 9 december 2019.