Начало основного контента

Погружение в Futures: подходы к реализации Task Parallelism

День 2

RU

Один из основных способов написания асинхронного конкурентного кода — это Task Parallelism. Есть несколько подходов его реализации.

Наиболее актуальный из них — Stackless Coroutines. К сожалению, он недоступен разработчикам до С++20, а библиотека для него, вероятно, не появится даже в C++23. Но существуют и другие подходы: Fibers, Actor Model, Futures.

Валерий расскажет о Futures и о том, какие оптимизации можно использовать при их реализации на примере опенсорс-библиотеки https://github.com/YACLib/YACLib.

В докладе будет рассмотрено:

  1. Почему большинство in-house разработок так похожи на Futures по API?
  2. Каким API должны обладать Futures, и как его наиболее эффективно реализовать?
  3. Множество различных оптимизаций: уменьшение количества блокировок, ложных пробуждений, аллокаций.

Спикеры