Возможно, стоит пояснить разницу между синхронизацией из thread/process-safe и синхронизацией с помощью Lock🤔
Наша задача — заставить разные процессы и потоки обращаться к базе данных (или любым другим ресурсам) последовательно. Чтобы не случилось так называемого race condition, то есть состояние гонки. Это когда разные потоки или процессы пытаются одновременно что-то сделать с одним и тем же ресурсом.
В этом случае нам нужна какая-то логика ограничения. Пока один процесс не завершил своё действие, другие не могут получить доступ к ресурсу.
Так вот, thread-safe и process-safe означает что отдельно взятые операции записи в БД гарантированно будут последовательны. Запросы из разных процессов или потоков выстроятся в очередь и не будут мешать друг другу. Лучше всего когда этот блок реализован на уровне БД в виде атомарных операций или ещё как-то.
Но зачем нам тогда еще дополнительный Lock?
Этот способ синхронизации используется когда процесс никак не укладывается в одно действие и должен сделать множество операций прежде чем дать доступ следующему. В этом случае процесс ставит некий глобальный Lock на ресурс и никто другой, даже получив законное право на доступ, не может ничего сделать. Все ждут пока этот Lock не будет снят.
Это решается на уровне приложения и правильность реализации полностью в вашей ответственности. Например, если забыли разблокировать или сделали перекрёстный Lock (Deadlock как на картинке), то всё зависнет в бесконечном ожидании.
#basic
🇬🇧Black Widow. Volume 5 #01
🇷🇺Чёрная Вдова. Том 5 #01
Мы видели Черную Вдову в роли Мстителя и даже Агента Щ.И.Т. Но в остальное время она ищет искупления за своё прошлое как убийцы КГБ — способами, которые эти команды просто не одобрили бы.
#marvel
🇬🇧Scarlet Witch. Volume 2 #1-5
🇷🇺Алая Ведьма. Том 2 #1-5
Колдовство сломано, и Алая Ведьма отправляется в путешествие по всему миру, чтобы исправить это. Путешествуя от глухих переулков Манхэттена до безмятежных греческих островов и ирландской сельской местности, бывшая Мстительница столкнётся с мифами и легендами из древних преданий, излечит проклятия и обнаружит, что их история имеет ещё большее значение для её сложной семейной истории, чем она думала. В Испании она посетит церковь, где когда-то сжигали на костре таких ведьм, как она, и её будут преследовать призраки испанской инквизиции! Будет ли могущественный маг, известный как Изумрудный Чернокнижник, другом или врагом Ванды или Сверхъестественных Мстителей? И пока она раскрывает магические преступления и собирает колдовство воедино, остаётся один жизненно важный вопрос: кто разрушил его?
#marvel
🇬🇧Spider-Punk #1-3
🇷🇺Паук-панк #1-3
Проносясь по Земле-138 с топором в руках, Хоби Браун несет шум и ярость как герой революции, единственный и неповторимый анархический... Панк-паук. Ранее Хоби Браун, он же Паук-Панк, разбил своей гитарой череп злодейски веномизированного Нормана Осборна, президента США.
#marvel