На странице собраны вопросы по asyncio — от проверки базовых принципов до практического применения и архитектурных решений. В подборке чаще встречаются темы: async, backend, database.
Инструменты asyncio и области их применения asyncio — стандартная библиотека Python для асинхронного программирования Event loop — центральный механизм, который запускает задачи и управляет их выполнением (coroutines)…
Примитивы синхронизации в asyncio Lock: исключает одновременный доступ нескольких задач к одному ресурсу Event: служит для ожидания события и отправки сигнала о нем Condition: объединяет Lock с механизмом ожидания…
Сложность поиска одинаковых ключей в двух множествах разного размера область: алгоритмы, множества множества реализованы как хеш-таблицы (HashSet) размеры множеств: n и m (n ≤ m) базовая операция: проверка…
asyncio предназначен прежде всего для I/O-bound задач CPU-bound вычисления способны блокировать event loop Для таких задач применяют ThreadPoolExecutor либо ProcessPoolExecutor Для CPU-bound операций предпочтителен…
В CPython подсчёт ссылок служит основным механизмом управления памятью. Напрямую отключить его нельзя, если не модифицировать сам интерпретатор. Есть альтернативный вариант: gc.disable() отключает сборщик циклических…
В современных JVM управление GC обычно доступно лишь в ограниченном объёме и зависит от настроек В большинстве платформ, включая Java и .NET, полностью отключить поколенческий GC нельзя При этом разрешается изменить…
Контекст: паттерны проектирования и структуры данных Кортеж представляет собой immutable container для нескольких значений По принципу организации он близок к паттерну Composite (составной объект): несколько объектов…
строится на конструкции async/await, доступной начиная с Python 3.5+ опирается на корутины — специальные объекты функций, способные приостанавливать собственное выполнение задействует событийный цикл (Event Loop) из…
GIL (Global Interpreter Lock) — механизм блокировки на уровне интерпретатора CPython Он ограничивает одновременное выполнение CPU-bound задач только одним потоком Во время I/O поток передаёт управление, поэтому GIL…
ограничение GIL (Global Interpreter Lock) в CPython GIL не позволяет нескольким потокам одновременно выполнять байт-код и гарантирует безопасный доступ к объектам без сложных механизмов синхронизации из-за этого…
Ограничение количества event loop в одном потоке event loop — цикл обработки событий, используемый в асинхронных средах, таких как Node.js и браузеры как правило, на один поток приходится один event loop, выполняющий…
Чем различаются асинхронность, threading и мультипроцессинг Асинхронность работает в рамках одного потока: неблокирующие операции координируются через event loop, например с использованием async/await в JS и Python.…