Pthreads vs Parallel для бесконечных циклов на PHP - PullRequest
1 голос
/ 04 июня 2019

Я искал способ выполнить многопоточность на PHP и наткнулся на PHP-API pthreads, который, как мне кажется, может быть легко реализован (однако мне придется выяснить, как установить версию PHP с поддержкой ZTS).для Debian).

Дело в том, что когда я просматривал документацию по pthreads php.net, я обнаружил следующее:

Подсказка. Вместо этого стоит использовать параллель.

КакойЯ не знал об этом.

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

Я не уверен, какой из них будет наиболее подходящимдля этой ситуации.Любая рекомендация?

1 Ответ

0 голосов
/ 05 июня 2019

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

Есть несколько хороших платформ для реализации неблокирующего ввода / вывода в PHP, который я бы порекомендовал: amphp .

Конечно, у меня может не быть полного описания вашего приложения, поэтому по теме pthreads: Параллельно устарела , новые проекты должны использовать параллель.

Отказ от ответственности: я написал pthreads и параллельно ...

...