RU

Задача взяла lock() и остановила весь рантайм: пять ошибок с блокировками в async Rust

В async Rust одна неудачно взятая блокировка может остановить весь рантайм — вместе с таймерами и задачами, которые должны были её отпустить. Разбер…

rusttokioasync Rustасинхронное программированиемьютексыблокировкиRwLockдедлокиконкурентность
Habr
RU

Как мы разработали свой сервис бронирования и победили гонки за слоты

Привет, Хабр! Меня зовут Михаил Емельянов, я ведущий разработчик в НЛМК ИТ. Команда, в которой я состою, занимается разработкой и поддержкой различн…

bitrixphpсервис бронированияmutexмьютексы
Habr
RU

Async на Rust завис: как понять, где именно, когда паники нет и стек молчит

Сервис жив, CPU в норме, паники нет — а часть запросов зависает на минуты. В async‑Rust привычный стек часто мало помогает:…

RustTokioasyncасинхронное программированиезависаниядедлокиотладкаtokio-consoleмьютексыкооперативная многозадачность.
Habr
RU

Многопоточное программирование возвращается

Привет, мой вожделенный хабравчанин, хабраюзер, хабражитель или просто IT‑специалист — это как тебе удобнее называться. В общем,…

многопоточное программированиесинхронизация потоковсемафорымьютексысобытиявзаимоблокировкиWin32 APIPthreads
Habr
RU

Ох уж это многопоточное программирование

Привет, мой читатель с Хабра! Знаешь ли ты о том, что такое многопоточное программирование? Если да, то это хорошо! Если же…

многопоточное программированиесинхронизация потоковкритические секциимьютексыWin32 APIPthreads