Переходите на http клиент и работайте через GET/POST запросы. Полная эмуляция браузера - тяжелый процесс, поэтому и лаги возникают. У меня тоже комп с 12 ядерным ryzen и 32 гб оперативы не вывозит больше 15-25 браузеров. http клиент если грамотно им пользоваться по словам разработчиков может выдерживать до 2000 потоков. Я запускал 100 потоков через http клиента и нагрузка на процессор была в районе 1%.
Одновременный запуск нескольких браузеров (потоков) без задержки
-
Только что увидел.. у меня такая же тема на форум. Вопрос актулен. Потоки завершаются быстрее чем создаются
-
Как вариант:
- в OnApplicationStart создать глобальную переменную-флажок [[GLOBAL:FLAG]] со значением true.
- в начале каждого потока сделать цикл для ожидания запуска последнего потока:
while([[GLOBAL:FLAG]]){
if([[THREAD_INDEX]] == {{theads}}){
[[GLOBAL:FLAG]] = false;
}
//спать 10 - 100 ms
}
[[THREAD_INDEX]] - номер текущего потока, {{theads}} - кол-во потоков.