Вышла первая версия библиотеки protothreads, реализующая идею экстремально легких нитей, не зависящих от операционной системы и сочетающих технику многопоточного программирования с событийной моделью конечного автомата (FSM, Finite State Machine). Прототреды из нитей заимствовали простоту и ясность формирования кода, а из FSM - высокую эффективность с точки зрения потребления памяти и скорости работы.
За счет использования единого стека каждая нить, при сохранении возможности установки блокировок, съедает всего два байта памяти. Библиотека работает на уровне приложения и включает в себя встроенный планировщик. Ядро библиотеки занимает всего 400 строк кода на Си. Построение приложения значительно отличается от использования POSIX нитей, но не настолько усложнено, как в случае применения архитектуры FSM.
|