Потоки и процессы (не смешивать) / Станислав Рудаков / DataRobot [Python Meetup 16.08.2018]
Мы живём в время, когда у нас есть высокоуровневые фреймворки «на каждый чих», и всё равно умудряемся ловить баги, про которые «знают все, кроме тебя». В этом докладе Станислав Рудаков (DataRobot) разбирает реальный кейс дебага Python‑приложения, где из‑за сочетания потоков, процессов и логгера всё намертво висло — и показывает, почему «нельзя просто взять и починить Python». В видео на живом примере вы увидите: Чем на самом деле отличаются потоки и процессы в Unix‑системах Как fork копирует память и почему это взрывается, если в родительском процессе уже захвачен лок Как логирование и поток внутри библиотеки могут привести к вечному дедлоку после fork() Как использовать gdb и core‑дампы, чтобы разбираться в зависаниях, когда Python‑стек уже не помогает Какие есть практические способы избежать таких багов: порядок запуска fork/потоков, отказ от потоков, отключение локов после fork Примерная структура доклада: 00:00 — История «травмы»: как обычный компонент повесил коллегам прод 02:30 — Демка: простой пример с потоком, процессом и логгером, который «иногда зависает» 08:00 — Разбор симптомов: процесс не джоинится, логов нет, приложение «висит» 12:30 — gdb, debug‑символы и разбор стека на уровне C 20:00 — Что происходит при fork: память, потоки, локи и почему один лок может убить всё приложение 27:00 — Где ещё такое всплывает: драйверы БД, logging, сторонние библиотеки и многопроцессные пайплайны 31:00 — Стратегии защиты: порядок операций, отказ от потоков, отключение локов после fork и мониторинг После просмотра вы сможете: Понимать, чем реально отличаются потоки и процессы в Python‑программах под Linux Узнавать по симптомам, когда у вас дедлок из‑за логгера, потоков и fork Использовать gdb и core‑дампы как рабочий инструмент, а не страшный «низкоуровневый ад» Проектировать код так, чтобы не создавать себе подобные «мины замедленного действия» Напишите в комментариях: Приходилось ли вам ловить похожие «мистические» зависания в проде и чем они оказались на самом деле? Используете ли вы многопоточность, multiprocessing или предпочитаете асинхронщину (asyncio, gevent)? Хотели бы вы отдельный разбор по gdb, core‑дампам или по типичным проблемам с fork + threads в Python? Поддержите доклад лайком, подпишитесь на канал и напишите в комментариях, какую тему вы хотите чтобы мы разобрали в следующих видео — это помогает алгоритмам чаще показывать такие технические доклады разработчикам. #python #multithreading #multiprocessing #debugging #concurrency
![Краткий обзор PyCon Russia 2018 / Вероника Собещанская / PandaDoc [Python Meetup 16.08.2018]](https://i.ytimg.com/vi/P2ZA4tMKVA0/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLACKZTWuXejZsCr0HzbDqZ2paEqLw)
Краткий обзор PyCon Russia 2018 / Вероника Собещанская / PandaDoc [Python Meetup 16.08.2018]

Декораторы в Python | Быстрый курс

GIL в Python: зачем он нужен и как с этим жить

Процессы и потоки в ОС

Алексей Кузьмин, ДомКлик «Асинхронность изнутри»

Deep Work Music — Quiet Nights for Focus & Productivity

ОС #2-7. Процессы и потоки Linux

Multiprocessing, multithreading, asynchrony in Python and more. What are they and how do they work?
![Самое опасное когнитивное искажение [Veritasium]](https://i.ytimg.com/vi/xHPEfosHAXM/hqdefault_custom_1.jpg?sqp=CLDC1NEG-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLCBSxyxAzoEKOZpyXhl6XOoaNv7qg)
Самое опасное когнитивное искажение [Veritasium]

Тиньков и Варламов — о деньгах, Трампе и Путине | Интервью из Мексики: Plata, визы, наследство

Python Junior podcast: About asynchronicity in Python

Что такое многопоточность/multithreading? Введение в процессы и потоки

МНОГОПОТОЧНОСТЬ В PYTHON (1 ЧАСТЬ). GIL. ИСТОРИЯ ОДНОЙ БЛОКИРОВКИ.

Асинхронность, многопоточность, многопроцессность в python | Библиотека asyncio и асинхронный код
![Обзор внутренностей интерпретатора Python / Никита Лесников / Wargaming [Python Meetup 14.06.2013]](https://i.ytimg.com/vi/zOuxxnUY4lg/hqdefault.jpg?sqp=-oaymwEjCNACELwBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLDJ87G21Sqybf0Fh1VdZbQo2Maj4g)
Обзор внутренностей интерпретатора Python / Никита Лесников / Wargaming [Python Meetup 14.06.2013]

Асинхронщина в Python

The Claude Shutdown Is a Total Sh*tshow

Python. Параллелизм и асинхронность

Асинхронный Python-код медленнее обычного кода! Ааа!!1один. Aiohttp VS синхронные фреймворки

