Concurrency, Synchronization and Consistency. Non-blocking. Оглавление Введение - Блокирующая и неблокирующая синхронизация - Гарантии в неблокирующей синхронизации Знакомимся с obstruction-free и lock-free. Пишем движок для финансовых транзакций - Гарантия отсутствия препятствий (Obstruction-free). Наивная реализация TransferMoney . - Введение в Lock-free - Финал. Переписываем TransferMoney на lock-free код с MCAS.…
Евгений Козлов пишет про IT
14 лет пишу код, 10 - в прод. Руковожу командой инженеров в Т-Технологиях. 📌 Backend, Data, System Design 📌 Concurrency, Performance, Algorithms 📌 Infrastructure, Reliability 📌 Карьера, Менеджмент
Динамика подписчиков
с 20 июля 2026 по 28 сентября 2026 · минимум 2 830 · максимум 2 850
Кто рекламировался за полгода
Рекламных размещений с маркировкой не найдено.
Публикации
Concurrency and Consistency. Non-blocking, lock-free and async. Пост №12. Заключение. Когда я начинал цикл постов у меня было ожидание что lock-free это - ускорять программы ценой усложнения кода. При этом интуиция шептала, что в таком случае мьютексы автоматически становятся ненужными, а они живее всех живых. С этой точки я и решил погрузиться в вопрос в поисках истины. По итогам цикла постов я могу с уверенностью…
Concurrency and Consistency. Non-blocking, lock-free and async. Пост №11. Самые важные факты о Wait-free / Lock-free структурах данных На основе прочитанных статей и материалов у меня в голове выстроились некоторые связи и закономерности, ими и хочу поделиться с вами: - Фиксация количества потоков в Wait-Free . В отличии от lock-free и mutex реализаций wait-free структура должна заранее знать сколько конкурентных…
Concurrency and Consistency. Non-blocking, lock-free and async. Пост №10. Продвинутые wait-free очереди В прошлом посте я рассказал про один из самых популярных и полезных вариантов очередей с семантикой wait-free. Он такой не потому что использует какие то продвинутые алгоритмы, а именно из-за гарантий отсутствия нескольких читателей и писателей. Сегодня расскажу какие еще варианты существуют но уже со стороны…
Concurrency and Consistency. Non-blocking, lock-free and async. Пост №9. Wait-free структура данных в проде Как и обещал, примеры кода с семантикой wait-free, сегодня поговорим про то что нашло применение в реальности. 🔵 SPSC (Single Producer - Single Consumer) Queue over Ring Buffer Предложил алгоритм Leslie Lamport в статье Proving the Correctness of Multiprocess Programs . Идея проста до безобразия - если свести…
Concurrency and Consistency. Non-blocking, lock-free and async. Пост №8. Гарантия отсутствия ожидания. Введение. В прошлых постах мы разобрались, что из себя представляет термин lock-free. На очереди финальный босс - wait-free. Как всегда начинаем с определения: Гарантия Wait-free - каждый поток завершает операцию за ограниченное число шагов, независимо от того, что делают другие потоки. Вспоминаем написанные ранее…
Concurrency and Consistency. Non-blocking, lock-free and async. Пост №7. Lock-free в реальном мире Несколько постов подряд были сплошные харды, сложный кодан и отсылки к статьям. При этом я совсем не рассказывал о том где-же встречается всё то что мы рассматривали. Исправляюсь. 🔵 Рантайм языка Golang - очередь горутин runq - это очередь готовых к выполнению горутин, привязанная к одному процессору (P). Её…
Concurrency and Consistency. Non-blocking, lock-free and async. Пост №6. Структура данных Queue: от наивного алгоритма к lock-free реализации В прошлом посте мы закончили разбирать нашу синтетическую задачу про денежки и я обмолвился что есть примеры алгоритмов и структур данных в которых также используется механизм взаимопомощи потоков. У нас уже была заметка про Lock-Free Stack Трайбера и в нем такой механики нет,…