В функции написан регер, соответсвенно должны открываться 5 браузеров. Запускаю код, в консоль выводится, что запущены все потоки из 5, а по факту запускается только два потока.
Lock = threading.Lock() succes_threads = 0 all_threads = [] while succes_threads != executions: thread = threading.Thread(target=tools, args=(Lock,)) all_threads.append(thread) thread.start() print(f'Поток {len(all_threads)} запущен') succes_threads += 1 for thread in all_threads: thread.join() print(f'Поток {all_threads.index(thread) + 1} завершил работу') Python Lock = threading.Lock() succes_threads = 0 all_threads = [] while succes_threads != executions: thread = threading.Thread(target=tools, args=(Lock,)) all_threads.append(thread) thread.start() print(f'Поток {len(all_threads)} запущен') succes_threads += 1 for thread in all_threads: thread.join() print(f'Поток {all_threads.index(thread) + 1} завершил работу') У тебя создается группа потоков и ожидается их завершения через join() прежде чем создавать следующую группу, из-за чего succes_threads увеличивается только после завершения всех потоков текущей итерации, а не после запуска каждого отдельного потока