TGViewer
Библиотека собеса по Python | вопросы с собеседований Библиотека собеса по Python | вопросы с собеседований @py_interview_lib · 5.91K subscribers
Post #1235 1.04K
Что такое GIL в CPython, как он влияет на многопоточность, и какие практики выбирать для CPU-bound и I/O-bound задач?

GIL — глобальная блокировка интерпретатора в CPython: одновременно байткод исполняет только один поток.

CPU-bound: потоки не масштабируются по ядрам → берите процессы (multiprocessing/процесс-пулы), векторизацию/библиотеки, которые освобождают GIL (напр. NumPy), нативные расширения или вынос в отдельные сервисы.

I/O-bound: потоки подходят (блокирующие I/O обычно отпускают GIL); альтернативно — asyncio с неблокирующими вызовами.

Важно: asyncio не ускоряет CPU-bound; смешивайте — тяжёлое CPU выносите в процессы/С, блокирующее I/O — в пул потоков; измеряйте и следите, чтобы в async-код не просачивались блокировки.

Имплементации: поведение касается CPython; в других реализациях Python механизм отличается.


Библиотека собеса по Python
  • 👍 2
More from @py_interview_lib
  1. Sep 15, 2026Как спроектировать безопасную плагинную систему без «грязных» импортов? Определите стабиль…
  2. Sep 15, 2026😭 Как не потратить недельный лимит AI-кодинга за три дня? Разберём на вебинаре, как трати…
  3. Aug 5, 2026У вас есть Python-сервис, который обрабатывает асинхронные запросы через asyncio. При нагр…
  4. Aug 5, 2026👅 Самое сложное — выбрать не курс, а направление Сегодня хочется разобраться в AI-агентах…
  5. Aug 5, 2026Покупать новый курс каждый раз, когда меняется рабочая задача, — довольно странная механик…
  6. Jul 30, 2026Как спроектировать CLI-утилиту с подкомандами, автокомплитом и хорошей тестируемостью? Пос…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →