Python Glossary English

все 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Сообщить о неточности