Многозадачность кажется простой темой, пока дело не доходит до Python и GIL. В статье разбирается: чем процесс отличается от программы, зачем нужны потоки, что такое ядро процессора и в чём разница между конкурентностью и параллелизмом. Затем – специфика Python: как GIL влияет на потоки,…
Привет, уважаемые читатели!GIL, или Global Interpreter Lock десятилетиями оставался темой обсуждения и дебатов среди питонистов.Что такое GIL? GIL, сокращение от Global Interpreter Lock, представляет собой важную концепцию в Python. Он представляет собой мьютекс, который блокирует доступ к объекту Python…
Асинхронность в Python — одна из тех тем где на собеседовании начинают плыть.Почему await не делает код параллельным?Как на самом деле работает event loop?Когда asyncio — правильный выбор, а когда лучше использовать потоки или процессы?В этой статье разберём асинхронность с прицелом на senior…
Есть много статей, объясняющих, для чего нужен Python GIL (The Global Interpreter Lock) (я подразумеваю CPython). Если вкратце, то GIL не даёт многопоточному чистому коду на Python использовать несколько ядер процессора. Однако мы в Vaex исполняем большинство задач с интенсивными вычислениями на С++ с…