Возможно, стоит пояснить разницу между синхронизацией из thread/process-safe и синхронизацией с помощью Lock🤔
Наша задача — заставить разные процессы и потоки обращаться к базе данных (или любым другим ресурсам) последовательно. Чтобы не случилось так называемого race condition, то есть состояние гонки. Это когда разные потоки или процессы пытаются одновременно что-то сделать с одним и тем же ресурсом.
В этом случае нам нужна какая-то логика ограничения. Пока один процесс не завершил своё действие, другие не могут получить доступ к ресурсу.
Так вот, thread-safe и process-safe означает что отдельно взятые операции записи в БД гарантированно будут последовательны. Запросы из разных процессов или потоков выстроятся в очередь и не будут мешать друг другу. Лучше всего когда этот блок реализован на уровне БД в виде атомарных операций или ещё как-то.
Но зачем нам тогда еще дополнительный Lock?
Этот способ синхронизации используется когда процесс никак не укладывается в одно действие и должен сделать множество операций прежде чем дать доступ следующему. В этом случае процесс ставит некий глобальный Lock на ресурс и никто другой, даже получив законное право на доступ, не может ничего сделать. Все ждут пока этот Lock не будет снят.
Это решается на уровне приложения и правильность реализации полностью в вашей ответственности. Например, если забыли разблокировать или сделали перекрёстный Lock (Deadlock как на картинке), то всё зависнет в бесконечном ожидании.
#basic
Привет, друзья!
Во второй половине июня мы ждём поступление новой плёнки. В поступлении изрядное количество Kodak Gold 200 (36).
Я решил, что прикольно будет ускорить круговорот фотоплёнки в природе. Я назначаю скидку на лёгкий посильный опт на Kodak Gold: если вы выкупите 6 роликов разом, пока плёнка не пришла в Волгоград, то ваша цена на ролике 650 рублей вместо привычной 700 деревянных.
Вы наверняка уже привыкли к закрытым предзаказам в этой группе. Я решил не нарушать традиций.
Спросите, зачем это мне? Закажу новое поступление быстрее! Законы торговли)))
Вот ссылка для заказа: https://filmoza.ru/opt-kodak-gold-200-36
Оставьте заявку, я с вами свяжусь и всё у нас получится!
#предзаказ#kodakgold
Несколько кадров на цветную фотоплёнку из Франконии: Rothenburg ob der Tauber и Fürth, Mittelfranken 🇩🇪
🎞 Фотопленка 35мм: KODAK Gold 200
📷 Фотокамера: Canon EOS 300V
⌨️ Скан: Nikon LS 5000
#фотоплёнка#фотонаплёнку#35мм#kodak#kodakgold#Mittelfranken#германия#бавария#франкония
Бамберг (Bamberg, Mittelfranken, Bayern 🇩🇪 ) - или немецкий Рим, город на семи холмах, старинный город королей и епископов Германии.
🎞 Фотопленка 35мм: KODAK Gold 200
📷 Фотокамера: Canon EOS 300V
⌨️ Скан: Nikon LS 5000
#фотоплёнка#фотонаплёнку#35мм#kodak#kodakgold#bamberg#mittelfranken#германия#бавария#франкония