Загрузка...

Не запускаются все потоки threading

Тема в разделе Python создана пользователем danceont 31 дек 2024. 183 просмотра

  1. danceont
    danceont Автор темы 31 дек 2024 6 23 авг 2021
    В функции написан регер, соответсвенно должны открываться 5 браузеров. Запускаю код, в консоль выводится, что запущены все потоки из 5, а по факту запускается только два потока.
    [IMG]
     
    1. Посмотреть предыдущие комментарии (1)
    2. danceont Автор темы
      maksemen1, в так называемом конфиге название threadings уже занял)
  2. maksemen1
    maksemen1 31 дек 2024 мани с гейма https://zelenka.guru/threads/5792572/ 9319 28 июл 2018
    uncpfiae ты у нас по threading
     
    1. maksemen1
      maksemen1, ну хотя бы смешную картинку скинул
  3. MALWARE
    MALWARE 31 дек 2024 мяукаю 12 042 12 мар 2021
    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 увеличивается только после завершения всех потоков текущей итерации, а не после запуска каждого отдельного потока
     
    31 дек 2024 Изменено
    1. Посмотреть предыдущие комментарии (7)
    2. MALWARE
      danceont,
      Python
      Lock = threading.Lock()
      succes_threads = 0
      all_threads = []

      while succes_threads != executions:
      # Создаем threads потоков
      for i in range(threads):
      thread = threading.Thread(target=tools, args=(Lock,))
      all_threads.append(thread)
      thread.start()
      print(f'Поток {len(all_threads)} запущен')
      succes_threads += 1
      if succes_threads == executions:
      break

      for thread in all_threads:
      thread.join()
      print(f'Поток {all_threads.index(thread) + 1} завершил работу')
      31 дек 2024 Изменено
    3. danceont Автор темы
      MALWARE, по итогу все равно создаётся 5 потоков независимо от числа в цикле
    4. Посмотреть следующие комментарии (1)
Top
Загрузка...