30 | Корутины в PHP: генераторы, файберы и Event Loop

Аватар автора
MediaTen — Digital продакшн
В этом уроке разбираем, как в PHP реализуется кооперативная многозадачность. Начинаем с генераторов и их ограничений, затем переходим к файберам и показываем, как на их основе можно построить собственный Event Loop. Обсуждаем Promises, задачи, очередь выполнения и реальные сценарии применения корутин в серверном коде. Таймкоды: 00:00:05 — Генераторы: что это и зачем нужны 00:01:08 — Ограничения генераторов и проблемы типизации 00:01:47 — Методы генераторов: next и throw 00:02:23 — Кооперативная многозадачность на генераторах 00:03:23 — Очередь задач: Task и Scheduler 00:05:41 — Пример параллельного выполнения задач 00:07:40 — Файберы: отличие от генераторов 00:08:57 — Синтаксис и жизненный цикл файбера 00:10:27 — Кооперативная многозадачность на файберах 00:13:20 — Архитектура Event Loop 00:15:16 — Promises: назначение и детали реализации 00:16:14 — Интерфейс и объект Task 00:17:14 — Основной класс EventLoop 00:17:52 — Внутренние структуры Event Loop 00:18:41 — Метод addTask 00:20:10 — Метод run и работа с Promise 00:20:51 — Метод runUntil и управление выполнением 00:22:27 — Интерфейс AsyncIterator 00:23:25 — Практические примеры использования 00:25:42 — Готовые реализации и библиотеки

0/0


0/0

0/0

0/0