Protothreads -- специнструмент ограниченно-годный для одного очень узкого случая. Просто у некоторых мышление такое же линейно-императивное. За слова о том, что программа -- _последовательность_ инструкций -- точно сжигать нужно. За последовательность. За счётчик программных инструкций. Это мировой заговор! Тот факт, что счётчик программных инструкций -- это лишь один из очень ограниченных способов вести вычисления в компьютере -- тщательно скрывается. Ведь можно считать и без счётчика программных инструкций. Не последовательно и не линейно. И алгоритмы управления они, если вообще предполагают _разные_ входные воздействия и _разные_ на них реакции неизменно получаются не линейными. Есть ветвления в блок схемах. Есть более одного перехода в _разные_ состояния в автоматах. В protothreads этого нет... (это возможно, но при таком подходе применение protothreads уже становится мало осмысленным -- только что отвечал Зелёному). А когда есть только один вариант всегда, когда нет ветвлений -- это весьма специфический алгоритм управления, характерно оставляющий лужи на полу (в нём же обработку аварийных ситуаций не предусмотришь, никак), больше подходящий для ёлочной гирлянды и т.п. применений. Впрочем -- пипл хавает. Вот и докатились. И ведь действительно, большая часть бытовой техники, да и часть космической (фобос-в-грунт) по таким алгоритмам и работает и всех это устраивает. Пойду съём таблетку (
http://www.sleepthinker.com/)