Возможно, стоит пояснить разницу между синхронизацией из thread/process-safe и синхронизацией с помощью Lock🤔
Наша задача — заставить разные процессы и потоки обращаться к базе данных (или любым другим ресурсам) последовательно. Чтобы не случилось так называемого race condition, то есть состояние гонки. Это когда разные потоки или процессы пытаются одновременно что-то сделать с одним и тем же ресурсом.
В этом случае нам нужна какая-то логика ограничения. Пока один процесс не завершил своё действие, другие не могут получить доступ к ресурсу.
Так вот, thread-safe и process-safe означает что отдельно взятые операции записи в БД гарантированно будут последовательны. Запросы из разных процессов или потоков выстроятся в очередь и не будут мешать друг другу. Лучше всего когда этот блок реализован на уровне БД в виде атомарных операций или ещё как-то.
Но зачем нам тогда еще дополнительный Lock?
Этот способ синхронизации используется когда процесс никак не укладывается в одно действие и должен сделать множество операций прежде чем дать доступ следующему. В этом случае процесс ставит некий глобальный Lock на ресурс и никто другой, даже получив законное право на доступ, не может ничего сделать. Все ждут пока этот Lock не будет снят.
Это решается на уровне приложения и правильность реализации полностью в вашей ответственности. Например, если забыли разблокировать или сделали перекрёстный Lock (Deadlock как на картинке), то всё зависнет в бесконечном ожидании.
#basic
🚀#LOScoin is excited to announce that we have successfully completed $2 million in funding!
In this round of financing, Solana Foundation led the investment, and CMS Holdings, Impossible Finance, Yield Guild Games (YGG) and Monad and other well-known institutions followed the investment, helping LOScoin build a more powerful and interactive Web3 gaming social ecosystem 2.0
$LOS This round of financing also received strong support from @AI_mint__ CEO Keone Hon, further confirming our innovation and leadership in the Web3 gaming field.
🚀#LOScoin is excited to announce that we have successfully completed $2 million in funding!
In this round of financing, Solana Foundation led the investment, and CMS Holdings, Impossible Finance, Yield Guild Games (YGG) and Monad and other well-known institutions followed the investment, helping LOScoin build a more powerful and interactive Web3 gaming social ecosystem 2.0
$LOS This round of financing also received strong support from @AI_mint__ CEO Keone Hon, further confirming our innovation and leadership in the Web3 gaming field.
🚨📌🔗
🤑
🤙
🤙
🤙
🤙
🤙
🤙
🤑
🤑
It's time to show the unity and strength of the #LOScoin community
Vote for #LOScoin and accomplish great things
X: https://x.com/anndylian/status/1847137465762758958
🚨 Reminder: Remember to claim your referral income and game rewards every day!
🤙
🧐
😎
If you miss it, they will be burned after 24 hours
🤑
🤑
🤑
#LOScoin
🤑
🖤https://x.com/losgamecoin/status/1830543753670713509?s=46