Русская Википедия:Протопоток

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Протопоток — единица программной обработки, обеспечиваемая особыми программными средствами, позволяющими не задействовать механизмы потоков операционной системы, одна из форм реализации сопрограмм.

Работая как «легковесные» потоки, не использующие стек, протопотоки обеспечивают блокирующий контекст ценой расхода считанных байтов памяти на один поток. Из-за того, что протопотоки не используют стек, приходится использовать глобальные переменные для сохранения значений при переключении контекста[1]. Протопотоки невытесняемы, поэтому переключение контекста возможно только на блокирующих операциях.

Концепцию протопотоков разработали Адам Данкелс и Оливер Шмидт[2]. Реализовано несколько различных библиотек протопотоков для Си и C++.

Примечания

Шаблон:Примечания

Шаблон:Rq