The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Релиз языка программирования PHP 8.1"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Подсказка: Для контроля за появлением новых сообщений - перед выходом жмите "Пометить прочитанным".
. "Релиз языка программирования PHP 8.1" +/
Сообщение от Онаним (?), 26-Ноя-21, 21:50 
Более адекватной выглядит линейная модель задач, когда кооперативный таск выполняется линейно, как любой нормальный код, но может в любой момент сказать "я idle", и отдать управление планировщику. Или сказать "управление отдаю, но хочу вызваться на следующем цикле" - контроль за latency.

Потому что все эти event-модели в один поток сталкиваются с одним и тем же: любой тяжёлый код внутри эвента, и ваши эвенты больше за разумное время не обрабатываются. И как раз Fiber на линейную организацию кооперативных задач ложится очень хорошо.

Ожидание же эвентов, возможно более одного эвента, решается возможностью порождать дочерние задачи (промисы), которые что-то делают, например ждут этого самого ->on коллбэка, или поллят, или кофе варят, и дальше отдают исполнение основной задаче, как только что-то изменилось. Банальный WaitOn()/WaitOnAny() для набора промисов.

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Релиз языка программирования PHP 8.1, opennews, 25-Ноя-21, 21:14  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру