Возможно, стоит пояснить разницу между синхронизацией из thread/process-safe и синхронизацией с помощью Lock🤔
Наша задача — заставить разные процессы и потоки обращаться к базе данных (или любым другим ресурсам) последовательно. Чтобы не случилось так называемого race condition, то есть состояние гонки. Это когда разные потоки или процессы пытаются одновременно что-то сделать с одним и тем же ресурсом.
В этом случае нам нужна какая-то логика ограничения. Пока один процесс не завершил своё действие, другие не могут получить доступ к ресурсу.
Так вот, thread-safe и process-safe означает что отдельно взятые операции записи в БД гарантированно будут последовательны. Запросы из разных процессов или потоков выстроятся в очередь и не будут мешать друг другу. Лучше всего когда этот блок реализован на уровне БД в виде атомарных операций или ещё как-то.
Но зачем нам тогда еще дополнительный Lock?
Этот способ синхронизации используется когда процесс никак не укладывается в одно действие и должен сделать множество операций прежде чем дать доступ следующему. В этом случае процесс ставит некий глобальный Lock на ресурс и никто другой, даже получив законное право на доступ, не может ничего сделать. Все ждут пока этот Lock не будет снят.
Это решается на уровне приложения и правильность реализации полностью в вашей ответственности. Например, если забыли разблокировать или сделали перекрёстный Lock (Deadlock как на картинке), то всё зависнет в бесконечном ожидании.
#basic
🚀 Big Win Episode 4! Our games smash into 2025 with massive wins!
This year's first episode of big wins brought three incredible prizes:
🎸Dr. Rock & the Riff Reactor — Super bonus bet $3000, win $102,918!
🎅 Gates of Santa — Bet 20 RUB, win 300,000 RUB ($3,000)!
⚡️ Dr. Rock & the Riff Reactor — Bet 3600 RUB, win 600,000 RUB ($6,000)!
🕹 Ready to make history with your spins? Let's go! 🎯
#TrueLabGames#BigWins
🎅 Big Wins in our new slot Gates of Santa already here🎄
The magic of the holiday season is real, and Gates of Santa proves it with some jaw-dropping wins! Take a look:
😮A lucky player turned 1 GBP into an incredible 10,337.7 GBP! That’s a multiplier of x10,337.7!
🦄With just a 1.25 EUR bonus bet, one player hit a jackpot of 12,241.4 EUR, an astonishing x12,241.4 multiplier!
💥A high-stakes bet of 2 EUR brought home an epic 21,600 EUR! That’s a holiday-perfect x10,800 multiplier! 🤑
🎄 The New Year and Christmas have already brought joy and fortune to hundreds of players in Gates of Santa. Will you be next? Try your luck today!
#BigWins#GatesOfSanta#HolidayMagic
In Battle Rage, the Rage multiplier kicks into action when the Emperor Wild lands, activating the Rage accumulator and boosting your potential for huge wins up to x100,000! The Rage Multiplier has no limits and carries over into Free Spins for even more intense payouts.
Prepare to harness the power of Rage and dominate the arena when Battle Rage launches on October 15, 2024!
#BattleRage#RageMultiplier#SlotGames#BigWins#TrueGames#TrueSlots#TrueLab