Возможно, стоит пояснить разницу между синхронизацией из thread/process-safe и синхронизацией с помощью Lock🤔
Наша задача — заставить разные процессы и потоки обращаться к базе данных (или любым другим ресурсам) последовательно. Чтобы не случилось так называемого race condition, то есть состояние гонки. Это когда разные потоки или процессы пытаются одновременно что-то сделать с одним и тем же ресурсом.
В этом случае нам нужна какая-то логика ограничения. Пока один процесс не завершил своё действие, другие не могут получить доступ к ресурсу.
Так вот, thread-safe и process-safe означает что отдельно взятые операции записи в БД гарантированно будут последовательны. Запросы из разных процессов или потоков выстроятся в очередь и не будут мешать друг другу. Лучше всего когда этот блок реализован на уровне БД в виде атомарных операций или ещё как-то.
Но зачем нам тогда еще дополнительный Lock?
Этот способ синхронизации используется когда процесс никак не укладывается в одно действие и должен сделать множество операций прежде чем дать доступ следующему. В этом случае процесс ставит некий глобальный Lock на ресурс и никто другой, даже получив законное право на доступ, не может ничего сделать. Все ждут пока этот Lock не будет снят.
Это решается на уровне приложения и правильность реализации полностью в вашей ответственности. Например, если забыли разблокировать или сделали перекрёстный Lock (Deadlock как на картинке), то всё зависнет в бесконечном ожидании.
#basic
«Ветер в ивах» - название гастроужина, который мы проведем 7го июля в ресторане Риф, на берегу озера, в Ривьере. Одно блюдо будет из основного меню ресторана Ива, над открытием которого мы работаем сейчас.
Количество мест ограничено, меню скоро объявим, как и информацию о стоимости и формате. Следите за лентами официальных каналов RWR.
#wearerivierapeople
Командой RivieraTeam сегодня провели спортивный зимний вечер 🎿
Стараемся не только баловать своих гостей, но и вдохновлять! Погода поспособствовала отличному лыжному забегу, после которого ещё и согрелись вкусным чаем из Ривьеры! Хороший получился вечер.
Оказывается всё намного проще, чем кажется! Великолепный отдых и неподдельные удовольствия намного ближе, чем мы ищем и ждём. Они всегда рядом с нами.
Встретимся в Ривьере!
#wearerwr
#wearerivierapeople
Мы гордимся богатой палитрой предложений и стремимся с каждым днём становиться лучше и интереснее.
Чтобы приумножать нашу любовь к велосипедам и объединять единомышленников: профессионалов и любителей велоспорта, мы создали Riviera Cycling Club 🚴🏻
Качественные велотрассы, благоприятный климат, живописные маршруты, невысокий трафик на дорогах, медицинский центр с полным набором восстановительных процедур, спа, комфортные дизайнерские номера и высокий сервис. У нас созданы оптимальные условия для велосипедистов разного уровня подготовки, которые предпочитают тренироваться в окружении красивейших видов и исследовать удивительные окрестности.
Всю подробную информацию можно найти в разделе Riviera Cycling Club на нашем сайте.
Присоединяйтесь к активному образу жизни с RCC.
#wearerwr
#rivieracyclingclub#rcc
#wearerivierapeople