Из исходного кода PHP видно, что он использует select () и неблокирующие чтения.Поэтому используется только один процесс.
Обратите внимание, что select () завершится неудачно, если вы дадите ему дескриптор файла с помощью fd> = FD_SETSIZE.Предел FD_SETSIZE определяется при компиляции PHP.По умолчанию это 256. Было бы лучше использовать poll () в реализации PHP.
О правильном использовании curl_multi_exec ():
curl_multi_exec ()следовать за curl_multi_select ().Это будет ждать доступных данных, а не проверять их в занятом цикле.Пример в руководстве по PHP хорош.