Жизненный цикл потока
Интерактивное демо «Жизненный цикл потока» — раздел Энциклопедия · Код и разработка.
Как создаётся и живёт поток
Реальный паттерн threading: один процесс, общая память, start/join и lock. Нажмите «Пошагово» — увидите, что делает ОС на каждой строке.
КодPython · threading
import threadingbalance = 1000 # общая память процессаlock = threading.Lock()def export_report():global balancewith lock:balance -= 50 # критическая секцияworker = threading.Thread(target=export_report)worker.start() # ОС выделяет потокworker.join() # главный ждёт workerprint(balance)
Память процесса и потоки
Один процесс, один главный поток
Переменная balance лежит в общем адресном пространстве. Потоков пока один.
Главный поток
UI / main()
Worker-поток
export_report()
Общая память процесса
- balance = 1000
ОС: Программа уже запущена как процесс. Пока есть только главный поток — он владеет всей памятью процесса.
Шаг 1 из 6