Возможно, стоит пояснить разницу между синхронизацией из thread/process-safe и синхронизацией с помощью Lock🤔
Наша задача — заставить разные процессы и потоки обращаться к базе данных (или любым другим ресурсам) последовательно. Чтобы не случилось так называемого race condition, то есть состояние гонки. Это когда разные потоки или процессы пытаются одновременно что-то сделать с одним и тем же ресурсом.
В этом случае нам нужна какая-то логика ограничения. Пока один процесс не завершил своё действие, другие не могут получить доступ к ресурсу.
Так вот, thread-safe и process-safe означает что отдельно взятые операции записи в БД гарантированно будут последовательны. Запросы из разных процессов или потоков выстроятся в очередь и не будут мешать друг другу. Лучше всего когда этот блок реализован на уровне БД в виде атомарных операций или ещё как-то.
Но зачем нам тогда еще дополнительный Lock?
Этот способ синхронизации используется когда процесс никак не укладывается в одно действие и должен сделать множество операций прежде чем дать доступ следующему. В этом случае процесс ставит некий глобальный Lock на ресурс и никто другой, даже получив законное право на доступ, не может ничего сделать. Все ждут пока этот Lock не будет снят.
Это решается на уровне приложения и правильность реализации полностью в вашей ответственности. Например, если забыли разблокировать или сделали перекрёстный Lock (Deadlock как на картинке), то всё зависнет в бесконечном ожидании.
#basic
«Мое определение свободы — простота и анонимность. Когда-нибудь я отвоюю их себе снова. Когда буду старым и все от меня наконец устанут».
Сегодня Джонни Деппу исполнилось 62 года.
#ВИДЕОТЕКА
#JohnnyDepp
#ANightmareOnElmStreet
#CryBaby
#DeadMan
#DonnieBrasco
#SleepyHollow
#Blow
#PiratesOfTheCaribbeanTheCurseOfBlackPearl
#PublicEnemies
#TheLoneRanger
#JeanneDuBarry
«Когда мы снимали сцену в кафе в фильме «Схватка», мы практически не проводили репетиций. Специально. Обсудили только общие моменты и хронометраж. Просто прошлись по тексту, потому что работу актеров я хотел увидеть только при съемке. А снимал я сразу на несколько камер, потому что понимал, что с такими актерами, как Аль и Боб, важна каждая деталь. Если Аль делает движение рукой, то Боб автоматически реагирует и меняет позу. Это органичное взаимодействие невозможно предугадать. В каждом дубле появляется что-то новое. Вот почему я всегда делаю ставку на спонтанность. Кстати, вся эта сцена в «Схватке» в итоге снята одним дублем. Но, в конечном счете, фильм получается таким, как я хочу».
🎬📷Сегодня исполнилось 83 года великому режиссёру, продюсеру и сценаристу Майклу Манну.
#ВИДЕОТЕКА
#MichaelMann
#МайклМанн
#Thief
#Вор
#TheLastOfMohicans
#ПоследнийИзМогикан
#Heat
#Схватка
#Ali
#Али
#Collateral
#Соучастник
#MiamiVice
#ПолицияМайамиОтделНравов
#PublicEnemies
#Blackhat
#Ferrari
#Феррари
#BehindTheScenes