Lock-free по нарастающей
Большинство учебников предложит синхронизировать потоки с помощью мьютекса. Но под реальной high-performance нагрузкой блокировки превращаются в кош…
Tech news from the best sources
Большинство учебников предложит синхронизировать потоки с помощью мьютекса. Но под реальной high-performance нагрузкой блокировки превращаются в кош…
Когда комитет стандартизации проектировал корутины, за кадром остался один неловкий момент: фрейм корутины (coroutine frame) — это динамический объе…
In the previous article, [Java Memory Model: How Multithreading Changes the Rules], We saw that when multiple threads execute concurrently, understa…
Why Do We Need Threads? Imagine you are running a restaurant with only one waiter. A customer places an order. The waiter takes the order to the kit…
Приветствую! В моей библиотеке ядра уже есть аллокатор , семейство vsnprintf , ctype, string.h, strings.h. Остались только атомики и спинлок, и тогд…
Why race‑condition crashes only appear under specific timing, vanish under debugging, and produce different stack traces on every run. Race‑conditio…
В первой части статьи были рассмотрены следующие распространённые способы организации конкурентного кода при работе с потоками и корутинами: критиче…
Всем привет! Меня зовут Михаил, я работаю главным экспертом в ОТП Банке. Я люблю тестировать свои решения и почти всегда пишу unit- и integration-те…
Learn how to detect and fix thread leaks in Java applications using Java 21, thread dumps, ExecutorService, monitoring tools, and Spring Boot exampl…
Если что такое параллелизм более-менее все разработчики понимают, то объяснение асинхронности через аналогии с кассирами/поварами вредно, так как вв…