Вот как по мне, оперативы 16гб, но проц грузится под 100% при 30 потоках (смотря кст потоки чего, от самого скрипта зависит. Например парсер в 170 работает спокойно(не гет/пост, в браузере)
Смотри, есть варик разогнать проц, посмотри видосики, но за темпой его следи (желательно под нагрузкой).
Лет 8-10 назад, когда озу было около 4гб на старом пк, вставлял флешки в пк и с них выделял память, чтоб юзал,когда оперативка использовалась на 100% (там само по себе предусмотрено, что пк бывает жд по свойствам оперативки юзает(вроде подкачкой называется), но там выделяемый объем ограничен, можно увеличить). Помогало, но именно для работы без лагов компа, не думаю, что данный метод будет эффективен при работе под нагрузкой, хотя попробовать можно)
Разные входные данные для разных потоков с помощью ручного запроса ввода данных от пользователя
-
Концепт такой.
Проверка номера потока.
Если номер потока равен, например, 1,2,4,7,10, то
Запрос ручного ввода данных от пользователя - Ввод данных, сохранение в переменную и далее по скрипту.
Если номер потока равен 3,5,6,8,9, то
Запрос ручного ввода данных от пользователя - Ввод данных, сохранение в переменную и т.д.То есть в зависимости от номера потока будут вводиться разные данных для конкретных потоков.
Как это правильно оформить в виде действий? Как установить типа глобальную переменную, но не для всех, а для определённых потоков? Набросок:

-
@bratishka у меня скорее чуть по-другому можно сделать.
Например, сначала запрашивать ручным вводом данных, для скольких потоков задать определённое значение.
Ввёл значение 7. Значит, если номер потока с 1 по 7 (первые 7 потоков), то запрашивать ручной ввод для R1.
Далее ввёл 9. Если номер потока с 8 по 16, то R2 и т.д.
То есть сначала при ручном вводе запрашивается "Для какого количество потоков задать Значение1?"
Если количество потоков равно 10, то для первых десяти потоков Значение1.
Далее для последующих 20 потоков Значение2 и т.д.