Задать вопрос
@6Mkfcbpwamxx

Как «организовать» многопоточность в php?

Добрый день, сейчас есть цикл:

$input = некий массив, который нужно обработать

for ($i = 0; $i < count($input); $i++) {
      if(условие){
            //сохранение в базу
      }
      ...
}


Как бы обрабатывать данные хотя бы в 2 потока?
Я вижу это так: входные данные делятся на 2(кол-во потоков) и передаются на 2 разных "обработчика".
Но как это сделать? Кто нибудь сталкивался с подобным?
  • Вопрос задан
  • 239 просмотров
Подписаться 2 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 2
Выглядит как попытка оптимизации в ненужном месте.
Сначала отфильтруйте массив по условию, а потом сделайте один большой INSERT.
Ответ написан
paulvonlecter
@paulvonlecter
Nemo me impune lacessitt
for -> foreach
Минимизировать вызовы функций
Избегать конкатенации
Юзать ссылки вместо копирования, где можно

Не знаю решения, которое распараллелит все в вебе, но для консоли pcntl_fork и погнали.
Конкретные рецепты есть в документации самого РНР.
В конце концов введите признак, по которому можно разделить входные данные и обрабатывайте принудительно части, в соответствии с этим признаком.
Без референсов тяжело рассуждать.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы