Возможно, стоит пояснить разницу между синхронизацией из thread/process-safe и синхронизацией с помощью Lock🤔
Наша задача — заставить разные процессы и потоки обращаться к базе данных (или любым другим ресурсам) последовательно. Чтобы не случилось так называемого race condition, то есть состояние гонки. Это когда разные потоки или процессы пытаются одновременно что-то сделать с одним и тем же ресурсом.
В этом случае нам нужна какая-то логика ограничения. Пока один процесс не завершил своё действие, другие не могут получить доступ к ресурсу.
Так вот, thread-safe и process-safe означает что отдельно взятые операции записи в БД гарантированно будут последовательны. Запросы из разных процессов или потоков выстроятся в очередь и не будут мешать друг другу. Лучше всего когда этот блок реализован на уровне БД в виде атомарных операций или ещё как-то.
Но зачем нам тогда еще дополнительный Lock?
Этот способ синхронизации используется когда процесс никак не укладывается в одно действие и должен сделать множество операций прежде чем дать доступ следующему. В этом случае процесс ставит некий глобальный Lock на ресурс и никто другой, даже получив законное право на доступ, не может ничего сделать. Все ждут пока этот Lock не будет снят.
Это решается на уровне приложения и правильность реализации полностью в вашей ответственности. Например, если забыли разблокировать или сделали перекрёстный Lock (Deadlock как на картинке), то всё зависнет в бесконечном ожидании.
#basic
🔰Airdrop: MetaFish
💸Value: 200 Million $MTF($150)
🪐Referral: 40 Million Each #MTF ($30)
⏳Distribution Date: 15th August 2023
💎Ratings: ⭐️⭐️⭐️⭐️⭐️
🔗Airdrop Link: http://t.me/metafishRound2Airdropbot
Note: Airdrop will end on 15th August 2023 and rewards will be distributed to the winners BEP-20 wallet on after Instantly
Disclaimer: Please do your own research (DYOR) before joining to any airdrops project, also airdrop is 100% free. Don't send any fee or penny for receiving airdrop tokens. Also we don't recommend you to invest in any new projects, just join airdrop for free
💧Airdrop : MetaFish💧
📣Complete Task: ➕ 80,000 #MTF (~$60)
📊Referral: ➕ 20,000 #MTF (~$15)
🏆Winners: All Valid users.
💎Ratings: ⭐️⭐️⭐️
📅End Date: 9th Aug, 2022
🔛Metafish Airdrop For Click Here🔛
🌀 Join Metafish Telegram Group & Telegram Channel.
🌀 Join Advertiser Telegram Group & Telegram Channel.
🌀 Follow Advertiser on Twitter and retweet the pinned post.
🌀 Submit Polygon address
📡Enter your information to the airdrop bot.
🗞Note: All airdrop steps should be completed.
✔️Business Inquiry: Admin or Admin2