Возможно, стоит пояснить разницу между синхронизацией из thread/process-safe и синхронизацией с помощью Lock🤔
Наша задача — заставить разные процессы и потоки обращаться к базе данных (или любым другим ресурсам) последовательно. Чтобы не случилось так называемого race condition, то есть состояние гонки. Это когда разные потоки или процессы пытаются одновременно что-то сделать с одним и тем же ресурсом.
В этом случае нам нужна какая-то логика ограничения. Пока один процесс не завершил своё действие, другие не могут получить доступ к ресурсу.
Так вот, thread-safe и process-safe означает что отдельно взятые операции записи в БД гарантированно будут последовательны. Запросы из разных процессов или потоков выстроятся в очередь и не будут мешать друг другу. Лучше всего когда этот блок реализован на уровне БД в виде атомарных операций или ещё как-то.
Но зачем нам тогда еще дополнительный Lock?
Этот способ синхронизации используется когда процесс никак не укладывается в одно действие и должен сделать множество операций прежде чем дать доступ следующему. В этом случае процесс ставит некий глобальный Lock на ресурс и никто другой, даже получив законное право на доступ, не может ничего сделать. Все ждут пока этот Lock не будет снят.
Это решается на уровне приложения и правильность реализации полностью в вашей ответственности. Например, если забыли разблокировать или сделали перекрёстный Lock (Deadlock как на картинке), то всё зависнет в бесконечном ожидании.
#basic
Freebies для архитектурной визуализации
Evermotion и Epic Games решили порадовать: одна сцена из коллекции Archinteriors Vol. 10 — Museum and Gallery – Scene 1 теперь бесплатна на маркетплейсе Fab.
Что внутри:
🔹 Современная галерея с картинами и скульптурами
🔹 72 уникальных ассета
🔹 Текстуры до 4096×4096
🔹 Поддержка UE 5.2+
Доступно бесплатно до 23 сентября 2025
⏩Скачать
#ue5#полезное
🤩 Друзья, напоминаем, что на нашем канале есть классный стрим с Александром Коляса
Он рассказал, как создавал реалистичный Toyota Land Cruiser FJ60 в Unreal Engine 5 — от сбора референсов до финального рендера.
😉Смотрим в YouTube
😄Смотрим в VK
Кто не видел — зацените! 😉
#стримы#ue5
🤩 Друзья, напоминаем, что на нашем канале есть классный стрим с Александром Коляса
Он рассказал, как создавал реалистичный Toyota Land Cruiser FJ60 в Unreal Engine 5 — от сбора референсов до финального рендера.
😉Смотрим в YouTube
😄Смотрим в VK
Кто не видел — зацените! 😉
#стримы#ue5
The Fabled 💥
We're thrilled to share that we are building with@BNBCHAIN!⚔️🏹
We're excited to welcome the #Binance community to The Fabled. Join our Discord for more updates and BTS! http://discord.gg/h7MxCHDcJu
#UE5#MultiChain#Web3#P2E#BNB
🎙The devs behind @CryowarDevs are coming to #gamescom2022, bringing you a first-hand gameplay experience of the #UE5 game!
👉 Check out Cryowar at Gamescop:https://www.gamescom.global/en
👉 Follow Cryowar:https://twitter.com/CryowarDevs
👉 Follow Gamescop:https://twitter.com/gamescom
#aheadofthegame#cryowar