все Python 3threadingпонятие
threading
модуль
Потоки выполнения внутри одного процесса и примитивы синхронизации: Lock, Event, Semaphore, Condition.
Синтаксис
import threading
Потоки помогают, когда программа ждёт ввода-вывода — сети, диска; для счёта на CPU в обычной сборке CPython они не ускоряют из-за GIL, и там берут multiprocessing. Для пула задач удобнее concurrent.futures.ThreadPoolExecutor. Главная ошибка — менять общие данные без Lock: гонка проявляется редко и не воспроизводится.
Примеры
import threading
results = []
def work(n): results.append(n * n)
threads = [threading.Thread(target=work, args=(i,)) for i in range(4)]
for t in threads: t.start()
for t in threads: t.join()
print(sorted(results)) # → [0, 1, 4, 9]
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности