Будьте внимательны, используя Lock-Free алгоритмы!
Статья подготовлена для студентов курса «Разработчик С++» в образовательном проекте OTUS. Не секрет, что Lock-Free алгоритмы и структуры данных существенно усложняют проект. Это подтверждается как моим собственным опытом, так и Core Guidelines (набором рекомендаций и правил по написанию кода на С++). Следуя принципу Lock-Free, очень сложно реализовать код. Ещё сложнее его отладить и практически невозможно найти все баги, которые, как правило, всплывают только на проде. Почему возникают сложности? С моей точки зрения, технология до сих пор недостаточно изучена...
06:44
1,0×
00:00/06:44
29,4 тыс смотрели · 3 года назад
Решаем проблему конкурентного доступа с помощью Lock-Free
Статья подготовлена для студентов курса «Разработчик С++» в образовательном проекте OTUS. В одной из прошлых заметок мы приводили пример конкурентной обработки двух конфликтных запросов, которые возникли в связи с одновременным бронированием одного и того же номера двумя разными менеджерами отеля. Такая ситуация стала возможной из-за того, что бронирование номера не является атомарным по своей сути, не защищено от конкурентного доступа. Как правило, существует несколько путей решения. Блокировка Самое простое, на первый взгляд, решение...