#event_loop

2026-02-23

Как устроены задачи (Task) в asyncio

В прошлой статье мы разобрали механику событийного цикла asyncio. В этот раз поговорим о задачах, объектах класса asyncio.Task (они же по-простому "таски"). Тема важная, потому что по сути вся работа событийного цикла сводится к постоянному жонглированию задачами: запустить, приостановить, разбудить, завершить. Если понять, как устроена таска изнутри, изрядная доля магии asyncio (как и нелюбви к нему) исчезнет. На десерт шок-контент: почему await далеко не всегда является точкой, где управление возвращается событийному циклу, чтобы он мог переключиться на другую задачу. Погружаемся

habr.com/ru/articles/1002690/

#asyncio #async #await #python #асинхронность #асинхронное_программирование #таски #event_loop

2026-02-10

Событийный цикл в asyncio: как Python-код работает поверх механизмов Linux

Большая статья для тех, кто, как и я, споткнулся об asyncio и так не разгадал до конца "магию" событийного цикла. Попробовал распутать этот клубок через подробный рассказ (в как можно более доступной форме) о внутренних механизмах Линукса и самого asyncio, которые лежат в основе событийного. К концу статьи, надеюсь, магия исчезнет, а останется ясное понимание фундамента. Погружаемся

habr.com/ru/articles/995032/

#asyncio #python #epoll #selectors #асинхронность #event_loop #eventloop #linux #сокеты

2026-02-01

Разбор threading vs multiprocessing vs asyncio в Python

При работе с Python да и другими языками программирования часто возникает необходимость ускорения выполнения кода, масштабирования обработки данных или работы с большим количеством сетевых запросов. Именно в Python для решения этих задач существуют три базовых метода. Это: threading, multiprocessing и asyncio. На первый взгляд – механизмы схожие. Но при детальном разборе ясно, что они решают принципиально разные задачи, опираются на разные модели исполнения и обладают своими ограничениями. В статье расскажу об особенностях каждого метода – будет интересно и познавательно.

habr.com/ru/articles/991478/

#threading #multiprocessing #asyncio #Python #параллельность #конкурентность #CPUbound #event_loop #многопоточность

2025-09-17

[Перевод] Как Node.js выжимает максимум из I/O в 2025 году

Команда JavaScript for Devs подготовила перевод статьи о том, как Node.js выжимает максимум из I/O в 2025 году. В ней подробно объясняется цикл событий, порядок фаз и то, как правильно писать код, чтобы серверы оставались отзывчивыми даже под нагрузкой.

habr.com/ru/articles/947524/

#Nodejs #event_loop #асинхронность #setImmediate #processnextTick #promises #timers #производительность #JavaScript

2025-06-30

Python asyncio, блокировка цикла событий

Блокировка event loop довольно серьезная проблема в асинхронных приложениях, потому что приводит к замедлению не конкретного запроса пользователя, а сразу всех запросов пользователей. Так давайте разберемся, что же это значит и, насколько это страшно и для разработчика и для клиентов сервиса.

habr.com/ru/articles/923270/

#python #asyncio #event_loop

2025-05-27

[Перевод] Как работает Node.js

После прочтения этой статьи вы хорошо поймете следующее: как работает цикл событий (event loop) в Node.js, включая все его фазы как Node.js выполняет JavaScript в одном потоке (single thread) как Node.js использует библиотеку libuv и внутренние API для обработки асинхронных операций почему знание работы цикла событий так важно для написания эффективного серверного кода Понять, как JS работает "под капотом" в браузере (см. эту короткую 15-минутную статью ), проще, чем понять устройство Node.js. В браузере нет сложных фаз и многослойных механизмов, как в Node.js. Но почему в Node.js все устроено сложнее? Зачем столько фаз, которые так непросто понять?

habr.com/ru/companies/timeweb/

#timeweb_статьи #javascript #js #nodejs #nodejs #node #event_loop #task_queue #цикл_событий #очередь_задач

2025-01-02

Почему джуны путаются в асинхронном коде (и как научиться с ним работать)

Асинхронный код часто становится камнем преткновения для начинающих разработчиков. Почему функции выполняются не в том порядке, зачем нужны промисы, и что делает async/await? В статье я простыми словами объясняю: - Как работает Event Loop и почему это важно. - Какие ошибки чаще всего допускают джуны при работе с асинхронностью. - Как научиться писать понятный и предсказуемый асинхронный код. Если асинхронность вызывает больше вопросов, чем ответов, загляните в статью - там всё по шагам. 🙂

habr.com/ru/articles/871328/

#Асинхронность #javascript #event_loop #промисы #callbacks #вебразработка #отладка_кода #обучение_программированию #asyncawait

2024-03-26

Основы Event Loop в JavaScript

В JS Event Loop позволяет непрерывно проверять, есть ли в очереди задачи, и, когда стек вызовов пуст, передавать эти задачи на выполнение. Таким образом, долгие операции не мешают продолжению выполнения кода. Именно благодаря Event Loop приложение может оставаться отзывчивым, позволяя юзерам продолжать взаимодействие с интерфейсом, пока в фоне выполняются тяжелые задачи. Возможно, у кого-то возникнет иллюзия параллелизма, хотя на самом деле в любой момент времени выполняется только одна задача. В этой статье мы рассмотрим, как реализовать Event Loop в JavaScript.

habr.com/ru/companies/otus/art

#JS #Event_Loop

2024-01-29

Event Loop. Мифы и реальность

В сети есть довольно большое количество публикаций про Event loop и как он работает. Новые статьи появляются на популярных ресурсах и по сей день, в том числе на Хабре. Однако, к сожалению, далеко не вся информация, представленная в этих материалах является проверенной или достоверной. В связи с чем, само понятие обросло рядом мифов и догадок. Порой, даже опытному разработчику требуется немало внимания и опыта, чтобы понять, где истина, а где, чистой воды, вымысел. В этой статье попробуем разобраться, где же, все таки, истина. Если вам кажется, что в статье имеется ошибка, неточность или чего-то не хватает, оставляйте свои комментарии, и мы попробуем совместно найти ответы на все возникающие сомнения и вопросы.

habr.com/ru/articles/789572/

#event_loop #ecma262 #html5 #web_api

Client Info

Server: https://mastodon.social
Version: 2025.07
Repository: https://github.com/cyevgeniy/lmst