Pull to refresh

Comments 17

Корутины это функции которые могут приостановить или возобновить свое выполнение при этом сохраняя свое состояние.


Получается задачи в RTOS — это корутины.
Это, что бы каждая кухарка могла программировать свой утюг. Вместо того, что бы заниматься своим прямым делом — чисткой тарелок.
Каждая кухарка уже может писать комментарии к статьям, даже не владея языком, на котором пишет — почему бы ей же не программировать свой утюг (кстати, зачем кухарке утюг?), не владея навыками программирования?
А наличие/отсутствие стека как-то влияет на то, может или нет это нечто со стеком/без стека называться корутиной (я бы предпочёл термин сопрограмма)?
Наличие стека позволяет потоку быть вытесненным не только на самом верхнем уровне, но и в любом вложенном вызове. Более того, специальные вызовы как раз и нужны для вытеснения.
А ещё такая техника не позволяет передавать значения вызывающему коду (хотя в данном случае вызывающий код — это только планировщик) при каждом возобновлении.
UFO landed and left these words here
Всё бы ничего, но от опечаток и издевательств над словосочетании изнутри глазей текут кровавые слёзы.
UFO landed and left these words here
Круто. Но отлаживать это я не хочу.

Вряд ли отладка сопрограмм будет сложнее отладки лапши из обратных вызовов.

Интересно, но недостаточно низкоуровнево.
Можно ли было сделать поддержку всех вариантов (симметричные и асимметричные, стековые и бесстековые)?
Как это соотносится с корутинами из Boost?
У меня есть прекрасная идея статьи, которую Вы могли бы написать.
UFO landed and left these words here
Будет очень интересно!
Я пока еще не осознал всю мощь корутин, но вот замечание по поводу недостаточной низкоуровневости реализаци возникло из того, что разработчики стандарта выбрали конкретную модель реализации и уже завязали на нее некие классы стандартной библиотеки, а не предоставили универсальный языковой механизм вроде boost.context, с помощью которого (наверное?) можно было бы реализовывать любую модель.
UFO landed and left these words here
Sign up to leave a comment.

Articles