RU

OSDEV: Itanium часть 2: One-time Construction API и сигнлтоны Майерса

Приветствую! В этой части мы рассмотрим что такое guard variables и как под капотом работают синглтоны Майерса. Цель конечно у меня другая, я просто о…

atomicitaniumabiosdevsingletonпаттерныпаттерны программированияпаттерн проектирования синглтонсингтонмногопоточность
Habr
RU

Создаем потокобезопасную очередь с условными переменными: «академический» пример против реальности

Представьте, что вы едете в ночном поезде. Чтобы гарантированно выйти на нужной станции, придется не спать всю ночь и внимательно отслеживать остановк…

с++очередимьютексыconsumerзадачамногопоточностьproducer
Habr
RU

Зоопарк каналов в Rust: какой выбрать и как не споткнуться

Каналы - механизм передачи данных между потоками или асинхронными задачами. Идея простая: один конец отправляет сообщения (отправитель), другой их пол…

rustканалыflumetokiocrossbeamkanalмногопоточностьchannelssyncасинхронность
Habr
RU

Погружение в многозадачность Python: процессы, потоки, GIL и асинхронность

Многозадачность кажется простой темой, пока дело не доходит до Python и GIL. В статье разбирается: чем процесс отличается от программы, зачем нужны по…

pythongilмногопоточностьмногопроцессностьasyncioконкурентностьпараллелизмgevent
Habr
RU

async‑profiler в production: CPU, аллокации, lock contention и чтение flame graph

Профилирование Java‑приложений в production часто упирается не в отсутствие инструментов, а в их ограничения: CPU горит в&nbs…

async-profilerJavaJVMпрофилированиеflame graphпроизводительностьаллокациимногопоточностьlock contentionlatency
Habr
RU

Project Loom: Virtual Threads, Scoped Values и preview #7 Structured Concurrency

Project Loom меняет привычную модель конкурентности в Java: virtual threads делают потоки дешевле, Scoped Values дают аккуратную передачу контекста, а…

JavaProject LoomVirtual ThreadsScoped ValuesStructured ConcurrencyJDK 27конкурентностьмногопоточностьThreadLocalOpenJDK
Habr
RU

Сравнение моделей конкурентности JVM языков: Треды, Пулы и Structured Concurrency

Вы пробовали что-нибудь кроме new Thread() ? Конечно пробовали: Future ! И всё ?! Разберемся с разными моделями конкурентности в Java, Kotlin, Scala/Z…

JavaJVMмногопоточностьThreadThread PoolExecutorServiceVirtual ThreadsProject LoomStructured ConcurrencyBlocking IO
Habr
RU

Невидимый враг многопоточности: False Sharing и кэш-линии процессора

Представьте задачу: мы пишем высоконагруженный сетевой сервис и нам нужно считать входящие пакеты. Чтобы не блокировать потоки мьютексами, мы решаем д…

false sharingмногопоточностьоптимизациякэш процессораlock-freeкэш-линияпроизводительность