coroutine

  • ХабрахабрФото [Из песочницы] Корутины в C++20

    [Из песочницы] Корутины в C++20

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

    Читать далее »
  • ХабрахабрФото C++20 утверждён! Чего ждать и к чему готовиться разработчикам в C++23

    C++20 утверждён! Чего ждать и к чему готовиться разработчикам в C++23

    На днях в Праге прошла встреча международного комитета по стандартизации C++. И-и-и-и… C++20 готов! Осталось поставить штампик от ISO, но это чисто формальный шаг, с которым не должно быть проблем. Поздравляю всех с этим замечательным событием! Concepts, Coroutines, Modules, Ranges, std::format, constexpr new и constexpr алгоритмы+vector+string, datetime, jthread, span, bit_cast и многие другие мелкие и большие нововведения. Что успели добавить…

    Читать далее »
  • ХабрахабрФото Reactor, WebFlux, Kotlin Coroutines, или Асинхронность на простом примере

    Reactor, WebFlux, Kotlin Coroutines, или Асинхронность на простом примере

    Их задачи сводятся к запросам к другим базам/сервисам/кешам и агрегации всех этих данных по различным правилам и разнообразной бизнес-логике. Многие сервисы в современном мире, по большей части, «ничего не делают». Поэтому неудивительно, что появляются такие языки, как Golang, с удобной встроенной конкурентной системой, позволяющей легко организовывать неблокирующий код. Есть огромное количество фреймворков и библиотек, блокирующих потоки при использовании. В JVM-мире…

    Читать далее »
  • ХабрахабрФото Просто и на C++. Основы Userver — фреймворка для написания асинхронных микросервисов

    Просто и на C++. Основы Userver — фреймворка для написания асинхронных микросервисов

    В Яндекс.Такси придерживаются микросервисной архитектуры. С ростом количества микросервисов мы заметили, что разработчики много времени тратят на boilerplate и типичные проблемы, при этом решения не всегда получаются оптимальные. Вот так теперь выглядит типичный код микросервиса: Мы решили сделать свой фреймворк, с C++17 и корутинами. Response View::Handle(Request&& request, const Dependencies& dependencies) psql::Execute(trx, queries::kUpdateRules, request.foo, request.bar); trx.Commit(); return Response200{row["baz"].As<std::string>()}; } А вот…

    Читать далее »
  • ХабрахабрФото C++20 укомплетован, C++23 начат. Итоги встречи в Кёльне

    C++20 укомплетован, C++23 начат. Итоги встречи в Кёльне

    На днях прошла встреча международного комитета по стандартизации C++ в Кёльне. В прошлый раз был принят feature freeze на C++20, так что комитет должен был обсуждать только исправления уже принятых вещей, а добавлять новинки уже в C++23… … но всё было не так! Всё это вас ждёт под катом. Что сделали с std::flat_map; останутся ли страшные ключевые слова co_return, co_await…

    Читать далее »
  • ХабрахабрФото Асинхронное программирование (полный курс)

    Асинхронное программирование (полный курс)

    Предлагаю вашему вниманию целостный и наиболее полный курс с объяснением всех широко распространенных методов асинхронного программирования, адаптеров между ними и вспомогательных проемов. Асинхронное программирование за последнее время стало не менее развитым направлением, чем классическое параллельное программирование, а в мире JavaSript, как в браузерах, так и в Node.js, понимание его приемов заняло одно из центральных мест в формировании мировоззрения разработчиков. Всего…

    Читать далее »
  • ХабрахабрФото Feature freeze C++20. Приняли ли Coroutines и Modules?

    Feature freeze C++20. Приняли ли Coroutines и Modules?

    На днях прошла встреча международного комитета по стандартизации C++ в американском городе Кона. Это была не просто встреча, а feature freeze! Никакие серьёзные новые идеи больше не могут просачиваться в стандарт, остаётся лишь пара встреч на добавление предварительно одобренных вещей, исправление недочётов и устранение шероховатостей. Всё это и многое другое ожидает вас под катом. Ожидать ли Модули и Корутины в…

    Читать далее »
  • ХабрахабрФото С++20 и Modules, Networking, Coroutines, Ranges, Graphics. Итоги встречи в Сан-Диего

    С++20 и Modules, Networking, Coroutines, Ranges, Graphics. Итоги встречи в Сан-Диего

    До C++20 осталась пара лет, а значит, не за горами feature freeze. В скором времени международный комитет сосредоточится на причёсывании черновика C++20, а нововведения будут добавляться уже в C++23. Какие новинки появятся в C++20, что из крупных вещей приняли, а что отклонили — всё это ждёт вас под катом. Ноябрьская встреча в Сан-Диего — предпоследняя перед feature freeze. char8_t Добавили…

    Читать далее »
  • ХабрахабрФото Как использовать корутины в проде и спокойно спать по ночам

    Как использовать корутины в проде и спокойно спать по ночам

    Корутины — мощный инструмент для асинхронного исполнения кода. Они работают параллельно, общаются друг с другом и потребляют мало ресурсов. Казалось бы, без страха можно внедрять корутины в продакшен. Но страхи есть и они мешают. Доклад Владимира Иванова на AppsConf как раз о том, что не так страшен чёрт и что можно прямо сегодня применять корутины: О спикере: Владимир Иванов (dzigoro) — ведущий Android-разработчик в компании EPAM с 7-летним опытом, увлекается Solution Architecture, React Native и разработкой…

    Читать далее »
  • ХабрахабрФото Готовимся к С++20. Coroutines TS на реальном примере

    Готовимся к С++20. Coroutines TS на реальном примере

    В C++20 вот-вот появится возможность работать с корутинами из коробки. Нам в Яндекс.Такси эта тема близка и интересна (под собственные нужды мы разрабатываем асинхронный фреймворк). Поэтому сегодня мы на реальном примере покажем читателям Хабра, как можно работать с C++ stackless корутинами. Например, попробуем осознать и переписать вот такую «лапшу» из колбеков: В качестве примера возьмём что-то простое: без работы с…

    Читать далее »


Кнопка «Наверх»