Как стать автором
Обновить
10
0
Илья Подшивалов @Harrowmont

Программист

Отправить сообщение

Корутины в C++20. Часть 2

Время на прочтение6 мин
Количество просмотров7.6K

Введение


Данная статья является продолжением данной статьи.


Бесконечный поток данных при помощи co_yield


Код ниже реализует бесконечный поток данных. Корутина getNext использует co_yield для создания потока данных который начинается со start и выдает по запросу каждое новое значение с шагом step.

Читать дальше →
Всего голосов 7: ↑6 и ↓1+9
Комментарии11

Корутины в C++20. Часть 1

Время на прочтение8 мин
Количество просмотров23K

Введение


Данная статья является переводом главы из книги Райнера Гримма Concurrency with Modern C++, которая является более доработанной и обширной версией статьи на его сайте. Так как весь перевод не умещается в рамках данной статьи, в зависимости от реакции на публикацию, выложу оставшуюся часть.


Корутины


Корутины это функции которые могут приостановить или возобновить свое выполнение при этом сохраняя свое состояние. Эволюция функций в C++ сделала шаг вперед. Корутины с наибольшей вероятностью войдут вошли в C++20.


Идея корутин, представленная как новая в C++20, довольно стара. Понятие корутины было предложено Мелвином Конвеем. Он использовал данное понятие в публикации о разработке компиляторов от 1963. Дональд Кнут называл процедуры частным случаем корутин. Иногда должно пройти время чтобы та или иная идея была принята.

Читать дальше →
Всего голосов 13: ↑12 и ↓1+21
Комментарии17

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность