Fork me on GitHub

Июнь 24–25

PyCon Russia 2019

Рус Eng

Злата Обуховская, Nvidia

Structured Concurrency. Что не так с асинхронностью в питоне?

Structured concurrency — подход к асинхронности, реализованный Натаниэлом Смитом в проекте Trio. Подход предполагает построение для связанных конкурентных потоков контекста выполнения, в котором легче реализовывать разные стратегии отмены, следить за освобождением ресурсов, обрабатывать ошибки.

Идея была подхвачена разработчиками из других языков (Kotlin, C, Swift) и породила массу вопросов:

— А если вместо списка равнозначных конкурентных потоков у нас теперь граф?

— Как безопасно передавать данные между контекстами?

— Кто будет следить за жизненным циклом таких графов?

— Как эффективно выполнять граф конкурентных потоков на одном ядре? А на нескольких?

— Как добиться детерминизма выполнения?

Между тем, эти вопросы так или иначе решались в других языках и технологиях.

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