Re: Stackless & stackful coroutines
От: johny5 Новая Зеландия
Дата: 21.01.15 08:55
Оценка:
Здравствуйте, x-code, Вы писали:

XC>Что такое stackful coroutines вполне понятно — в памяти создается дополнительный стек, на который переключается регистр-указатель стека процессора. И в нем можно все то же самое что и в основном — вызывать функции, возвращать значения и т.д.

XC>А вот что такое stackless coroutines? Судя по названию — "безстековые", но тогда как они работают? В чем разница со stackful? Как они реализуются на низком уровне? Каковы преимущества и недостатки обоих подходов?

Буквально сегодня читал что то из C++ proposals: stackless — это когда yield можно делать только из функции первой на стеке, то как со stackfull yield/await можно и во вложенных функциях. Т.е. в обоих случаях у них есть стек.

Впрочем терминология похоже ещё не целиком в этой области устоялась, готов послушать другие мнения.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.