Запускайте скрипт в один поток, в нём вычисляйте необходимое количество потоков, а потом:
Вызывайте функцию в несколько потоков:
Screenshot_1.png
Или циклом вызывайте функцию асинхронно (кол-во итераций цикла == кол-ву потоков):
Screenshot_2.png
Переписал проект немного, отказавшись от моих любимых регулярок, в пользу json и xpath. И удалось этим снизить общую нагрузку на проц аш на !!30%!! Сейчас сервер работает со всеми 45 потоками и кушает чуть больше 50% мощности.