не, те процессы, которые там запускаются, выполняются как раз параллельно(веб сервер, например, обрабатывает запросы), это и сбивает с толку, типа это stream_select такой параллельный, хотя таски на выполнение ставятся последовательно, как и результат обрабатывается по очереди пусть и не в том порядке, в котором запущено, что тоже воспринимается как параллельная работа самого скрипта и заслуга stream_selectпрограмма выполняет несколько задачодновременнопопеременно

Процессы там во втором примере запускаются. А тут у человека затык прям на первом примере. Где ничего не запускается и голый мультиплекс.не, те процессы, которые там запускаются, выполняются как раз параллельно
таки результат с тобой не согласен:типа это stream_select такой параллельный, хотя таски на выполнение ставятся последовательно, как и результат обрабатывается по очереди пусть и не в том порядке
это 5 подключений, выполненных одновременноProgram starts at 02:38:50.
Stream 4 closes at 02:38:53.
Stream 3 closes at 02:38:56.
Stream 2 closes at 02:38:59.
Stream 1 closes at 02:39:02.
Stream 0 closes at 02:39:05.
Запрошенные Web-страницы возвращают результаты после переменной задержки, показанной ниже. Если бы программа выполняла запросы последовательно, для ее завершения понадобилось бы около 15+12+9+6+3 (45) секунд. Как показано в листинге 2, на самом деле она завершается за 15 секунд. Утроение производительности - это отличный результат.
Такое стало возможно благодаря stream_select - новой функции в PHP V5. Запросы инициируются обычным способом - открытием нескольких stream_socket_clients и написанием GET к каждому из них
Хватит тупить.таки результат с тобой не согласен
$queue = [
['a', 5],
['b', 3],
['c', 2],
['d', 4],
['e', 1],
];
$start = time();
while ($element = array_shift($queue)) {
if ($start + $element[1] >= time()) {
$queue[] = $element;
} else {
echo "Finished: {$element[0]}\n";
}
usleep(1000);
}
нет конечно, и я уже даже тестил, всё ока форкаться на каждый элемент очереди религия запрещает?