Недавно я написал свою систему распределённой обработки задач. Сначала это был учебный проект. Мне хотелось лучше разобраться в очередях задач, координации воркеров, блокировках строк в PostgreSQL, retry‑механизмах и планировании фоновых задач. Когда основная функциональность была готова, я понял, что не знаю, как система ведёт себя под нагрузкой.
Поэтому вместо того, чтобы добавлять очередную фичу, я решил провести простой эксперимент. Взять одинаковый набор задач и постепенно увеличивать количество воркеров. Первые результаты выглядели именно так, как я ожидал, а потом масштабирование внезапно остановилось.Читать полностью »
Рубрика «многопоточность»
Я думал, что 16 воркеров ускорят обработку задач в 16 раз. Но что‑то пошло не так
2026-08-13 в 14:29, admin, рубрики: backend, celery, docker, optimisation, python, worker, асинхронность, многопоточность, распределенные системы, тестированиеМногопоточность в SCADA системах
2026-04-29 в 11:15, admin, рубрики: c++, modbus, Mutex, scada, thread, автоматизация, АСУТП, диспетчеризация, многопоточность, плкДобрый день, коллеги!
Я инженер по энергетике и автоматизации. Имею приличный опыт работы с инженерными системами жизнеобеспечения. Не так давно появилась идея сделать свою SCADA-систему для диспетчеризации автономных инженерных систем.
Потихоньку начал изучать материал и в итоге дошёл до идеи написания вычислительного ядра. Оно довольно простое, но при этом, легко масштабируемое и предсказуемое. Системы, которыми предполагается управлять, относятся к объектам критической инфраструктуры, поэтому вопрос архитектуры, отказоустойчивости и предсказуемости поведения для меня был принципиален с самого начала.
Многопоточная среда в разработке JAVA
2026-04-13 в 13:45, admin, рубрики: многопоточное программирование, многопоточность, многопоточность на java, многопоточные приложенияЕсли ты разработчик, то тебя это коснется. Спустя какое то время, кто-то раньше, кто-то позже, но каждый приходит к тому, что пора реально взять и разобраться в многопоточке. Я как то писал статью для себя, когда готовился к собесам и понял, что мне самому очень вкатывает такой формат обучения, когда ты пишешь статью на тему, которую исследуешь изучаешь. Так информация осваивается в разы лучше. Поэтому я собираюсь пропустить через себя огромный объем информации по многопоточности. Буду работать как супер компьютер обрабатывать сразу все возможные ветки в направлении освоения многопоточности.
Взаимное исключение в Java: от synchronized к Lock
2026-03-12 в 21:15, admin, рубрики: reentrantlock, synchronized, многопоточностьМногопоточность — одна из самых сложных тем в Java. По сути это ситуация, когда несколько потоков работают с общими данными и в процессе работы легко столкнуться с состоянием гонки (race condition), потерей обновлений или даже повреждением структуры данных. Чтобы этого избежать, доступ к критической секции кода нужно ограничить: одновременно там должен находиться только один поток.
В Java есть два основных механизма для решения этой задачи: встроенное ключевое слово synchronized и явные блокировки из пакета java.util.concurrent.locks, наиболее популярная из которых — ReentrantLock. Оба подхода обеспечивают взаимное исключение (Читать полностью »
Вытесняй и властвуй: еще раз про многозадачность
2026-02-18 в 10:15, admin, рубрики: multithreading, многозадачность, многопоточностьВ последнее время мне довелось много заниматься распараллеливанием однопоточного кода и показалось уместным свести воедино более-менее всё, что нам известно про разные типы многозадачности, с примерами и комментариями.
Пролог, в котором автор пытается объяснить, зачем вообще всё это нужно
Представьте себе коммунальную кухню в советской квартире. Шесть конфорок, двенадцать жильцов, и у каждого — неотложная потребность сварить борщ именно сейчас. Вопрос распределения ресурсов встаёт ребром, причём ребром острым, способным поранить неосторожного соседа.
Разбор threading vs multiprocessing vs asyncio в Python
2026-02-01 в 10:15, admin, рубрики: asyncio, CPU-bound, event loop, multiprocessing, python, threading, конкурентность, многопоточность, параллельностьПри работе с Python да и другими языками программирования часто возникает необходимость ускорения выполнения кода, масштабирования обработки данных или работы с большим количеством сетевых запросов. Именно в Python для решения этих задач существуют три базовых метода. Это: threading, multiprocessing и asyncio. На первый взгляд – механизмы схожие. Но при детальном разборе ясно, что они решают принципиально разные задачи, опираются на разные модели исполнения и обладают своими ограничениями. В статье расскажу об особенностях каждого метода – будет интересно и познавательно.
Конкурентность и параллелизм в Python
Кейс из production: Deadlock в асинхронном коде на Java
2025-10-20 в 8:17, admin, рубрики: java, jvm, spring framework, асинхронное программирование, многопоточностьНедавно наткнулся на коварную проблему, которая отлично демонстрирует важность правильной конфигурации пула потоков при работе с асинхронным программированием. Эта ситуация может возникнуть в любом проекте, где используются вложенные асинхронные операции, и её последствия могут быть катастрофическими для production-системы.
Описание проблемы
В рамках реализации задачи использовался механизм асинхронного программирования CompletableFuture с методом supplyAsync() для запуска вычислительных задач. Для управления и распределения потоков применялся ThreadPoolTaskExecutorЧитать полностью »
Асинхронность vs. многопоточность: что выживет в эпоху No GIL?
2025-10-06 в 10:41, admin, рубрики: asyncio, cpu, free-threading, GIL, nogil, python, rps, threading, асинхронность, многопоточностьХватит спорить — пора запускать и сравнивать.
Тестируем реальные сценарии, измеряем RPS, смотрим на потребление памяти и разбираемся, когда самая разумная стратегия — это просто подождать и обновить Python на free-threading версию.
Привет! Меня зовут Игорь Анохин, я — руководитель платформенной разработки в K2 Cloud и более 8 лет программирую на Python.
В чём проблема
Хочу поговорить про асинхронность и многопоточностьЧитать полностью »
Не смотрите на % использования процессора при гиперпоточности
2025-09-08 в 16:22, admin, рубрики: cpu usage, hyperthreading, бенчмарки, многопоточность, ядраКогда речь заходит о гиперпоточности, то как правило всё начинается с того, что нам показывают красивые картинки с квадратиками типа такой:
