Возможно, стоит пояснить разницу между синхронизацией из thread/process-safe и синхронизацией с помощью Lock🤔
Наша задача — заставить разные процессы и потоки обращаться к базе данных (или любым другим ресурсам) последовательно. Чтобы не случилось так называемого race condition, то есть состояние гонки. Это когда разные потоки или процессы пытаются одновременно что-то сделать с одним и тем же ресурсом.
В этом случае нам нужна какая-то логика ограничения. Пока один процесс не завершил своё действие, другие не могут получить доступ к ресурсу.
Так вот, thread-safe и process-safe означает что отдельно взятые операции записи в БД гарантированно будут последовательны. Запросы из разных процессов или потоков выстроятся в очередь и не будут мешать друг другу. Лучше всего когда этот блок реализован на уровне БД в виде атомарных операций или ещё как-то.
Но зачем нам тогда еще дополнительный Lock?
Этот способ синхронизации используется когда процесс никак не укладывается в одно действие и должен сделать множество операций прежде чем дать доступ следующему. В этом случае процесс ставит некий глобальный Lock на ресурс и никто другой, даже получив законное право на доступ, не может ничего сделать. Все ждут пока этот Lock не будет снят.
Это решается на уровне приложения и правильность реализации полностью в вашей ответственности. Например, если забыли разблокировать или сделали перекрёстный Lock (Deadlock как на картинке), то всё зависнет в бесконечном ожидании.
#basic
🎈Hot Game This Week🎈
⚡🔋#Brawl Stars s50 "Star Patrol"
🪐✨Jump into Brawl Stars Season 50's Starr Patrol update! Grab the Void Master Finx Skin totally free, get your Starr Patrol Girls (plus Spike) with unique transformations, and battle formidable Bosses!
Discover a detailed patch note of Star Patrol Season update in:
👀Brawl Stars Season 50 Starr Patrol Patch Notes.
Add @APKFreeDownloader_Bot to get any apk you want.
🏮🍣#Brawl Stars Sushi Codes
🏁WEEK 2!!!
Two Active Store Codes:【Checked on 5/8!】
Week 1 - 🌸SAKURASPIKE!🌸(Released on 5/1)
>>> Use for Sakura Spike Icon x1
Week 2 - 🍣ITSSUSHITIME🍣(Released on 5/7)
>>> Use for Prawn Sushi Pin x1
Log in to your Supercell ID in the Brawl Stars Store and follow our 👀Brawl Stars Katana Kingdom code guide" to complete your redemption.
Also, we've got 🎁🎁🎁18 QR codes for you to choose from! Watch our guide video 🎬"BRAWL STARS | ALL 20 WORKING QR CODES 2025 FREE SUSHI ROLLS QR CODES 2025 | HOW TO REDEEM CODES" to claim them and learn how to scan them for icons, items, and many other freebies!
Add @APKFreeDownloader_Bot to get any apk you want.
🎈Hot Game This Week🎈
🔔🚀#Brawl Stars 9/29 🛠️Maintenance Is Over!!!
📌The Brawl Stars (⬇️🎮Latest version: 63.342) Is BACK to Server!!!
Compensation rewards for this minor #maintenance update:
🎁5 FREE RAILS in Shop✨🛹
👀For a detailed release note of the 9.29 maintenance update, take a glance at our Brawl Stars ⚠️🚧Maintenance Update (September 29) Patch Notes.
Add @APKFreeDownloader_Bot to get any apk you want.
🎈Hot Game This Week🎈
👀📌#Brawl Stars x #🛹Subway Surfers🚦 Collab Approaching!!!
✨🤗See You Next Week on the Brawl Talk!!!
For a sneak peek of all the Subway Surfers collab features coming, check out our article "#Brawl Stars x #Subway Surfers Collab Sneak Peek".
[Key Highlights]
🗣🔥Next Brawl Talk is On 30th August!
👉 The Mythic lineup welcomes 2 NEW Brawlers: Mina & Ziggy!
👉 Leon, Ollie, Emz and 5 more fans-fav brawlers have their Event-Exclusive Skins!
👉Subway Supers (New themed Power-ups) temporarily boost brawlers!
👉 Open Boomboxes (New Reward Chests) for in-game currencies, star power, brawlers, skins and more!
Add @APKFreeDownloader_Bot to get any apk you want.