Григорий Демченко, Асинхронность и неблокирующая синхронизация

Григорий Демченко
Старший разработчик Яндекс.Карт. До Яндекса занимался созданием высоконагруженных высокопроизводительных приложений. Сейчас участвует в разработке геонавигационных сервисов.

Практика показывает, что использование подхода, основанного на колбеках для асинхронного программирования обычно не является удобным и подвержено различным ошибкам. Для упрощения написания и поддержки сложных асинхронных программ можно использовать несколько иной подход: использовать сопрограммы для переключения контекста на время ожидания события. Такой подход позволяет реализовать интересные неблокирующие примитивы, включая неблокирующее сетевое взаимодействие, неблокирующие мьютексы, а также удобное переключение между различными пулами потоков для разнесения выполнения задач, которые требуют различные ресурсы.

Яндекс.Метрика