все Python 3threadingпонятие
threading.Thread
потоки
Класс для создания и запуска потока. Потоки разделяют память процесса. Из-за GIL не ускоряет CPU-задачи, но хорош для I/O.
Синтаксис
t = threading.Thread(target=func, args=(), kwargs={}, daemon=False)
t.start()
t.join()
Запускает поток именно start(); прямой вызов t.run() выполнит функцию синхронно в текущем потоке — никакого параллелизма не будет. Повторный start() у того же объекта бросает RuntimeError, а daemon=True-потоки интерпретатор убивает на выходе резко, минуя блоки finally и очистку.
Примеры
import threading
def worker(n):
print(f'поток {n}')
threads = [threading.Thread(target=worker, args=(i,)) for i in range(3)]
for t in threads:
t.start()
for t in threads:
t.join() # ждать завершения
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности