Возможно, стоит пояснить разницу между синхронизацией из thread/process-safe и синхронизацией с помощью Lock🤔
Наша задача — заставить разные процессы и потоки обращаться к базе данных (или любым другим ресурсам) последовательно. Чтобы не случилось так называемого race condition, то есть состояние гонки. Это когда разные потоки или процессы пытаются одновременно что-то сделать с одним и тем же ресурсом.
В этом случае нам нужна какая-то логика ограничения. Пока один процесс не завершил своё действие, другие не могут получить доступ к ресурсу.
Так вот, thread-safe и process-safe означает что отдельно взятые операции записи в БД гарантированно будут последовательны. Запросы из разных процессов или потоков выстроятся в очередь и не будут мешать друг другу. Лучше всего когда этот блок реализован на уровне БД в виде атомарных операций или ещё как-то.
Но зачем нам тогда еще дополнительный Lock?
Этот способ синхронизации используется когда процесс никак не укладывается в одно действие и должен сделать множество операций прежде чем дать доступ следующему. В этом случае процесс ставит некий глобальный Lock на ресурс и никто другой, даже получив законное право на доступ, не может ничего сделать. Все ждут пока этот Lock не будет снят.
Это решается на уровне приложения и правильность реализации полностью в вашей ответственности. Например, если забыли разблокировать или сделали перекрёстный Lock (Deadlock как на картинке), то всё зависнет в бесконечном ожидании.
#basic
🚀 zkSync to Unlock Significant Number of Tokens on April 17
zkSync is set to unlock approximately 17.314 million tokens on April 17 at 0:00 UTC+8. According to ChainCatcher, this release is part of the platform's ongoing token management strategy. The unlocked tokens are valued at around $2.66 million. This development is closely watched by market participants as it may influence the token's market dynamics.
#zkSync#TokenUnlock#Cryptocurrency#Blockchain#MarketUpdate#CryptoNews#ZK
🚀 Immutable X to Unlock 9.62 Million Tokens on April 18
Immutable X (IMX) is set to unlock approximately 9.62 million tokens on April 18 at 8 a.m. UTC+8. According to ChainCatcher, this information comes from Web3 asset data platform RootData's token unlocking data.
#ImmutableX#IMX#TokenUnlock#Web3#Crypto#Blockchain#RootData#ChainCatcher
🚀 Kaito Token Unlock Scheduled for April 20
Kaito is set to unlock approximately 12.11 million tokens on April 20 at 12:00 PM UTC+8. According to ChainCatcher, this token release is part of the Web3 asset data platform RootData's schedule. The unlocked tokens are valued at around $4.86 million.
#Kaito#TokenUnlock#Web3#RootData#Crypto#Blockchain#TokenRelease#April20#KAITO
🚀 Quai Network to Unlock 43.02 Million Tokens on April 19
Quai Network is set to unlock approximately 43.02 million tokens on April 19 at 21:00 UTC+8. According to ChainCatcher, this token release is part of the network's ongoing schedule. The tokens are valued at around $1.25 million. This development is being closely watched by stakeholders and investors in the Web3 asset space.
#QuaiNetwork#TokenRelease#Web3#Crypto#Blockchain#TokenUnlock#Investors#Stakeholders#ChainCatcher