Возможно, стоит пояснить разницу между синхронизацией из thread/process-safe и синхронизацией с помощью Lock🤔
Наша задача — заставить разные процессы и потоки обращаться к базе данных (или любым другим ресурсам) последовательно. Чтобы не случилось так называемого race condition, то есть состояние гонки. Это когда разные потоки или процессы пытаются одновременно что-то сделать с одним и тем же ресурсом.
В этом случае нам нужна какая-то логика ограничения. Пока один процесс не завершил своё действие, другие не могут получить доступ к ресурсу.
Так вот, thread-safe и process-safe означает что отдельно взятые операции записи в БД гарантированно будут последовательны. Запросы из разных процессов или потоков выстроятся в очередь и не будут мешать друг другу. Лучше всего когда этот блок реализован на уровне БД в виде атомарных операций или ещё как-то.
Но зачем нам тогда еще дополнительный Lock?
Этот способ синхронизации используется когда процесс никак не укладывается в одно действие и должен сделать множество операций прежде чем дать доступ следующему. В этом случае процесс ставит некий глобальный Lock на ресурс и никто другой, даже получив законное право на доступ, не может ничего сделать. Все ждут пока этот Lock не будет снят.
Это решается на уровне приложения и правильность реализации полностью в вашей ответственности. Например, если забыли разблокировать или сделали перекрёстный Lock (Deadlock как на картинке), то всё зависнет в бесконечном ожидании.
#basic
🌍 Slovenia’s Škocjan Caves feature an underground canyon over 100 meters deep—the largest in Europe. This karst wonder drains rivers directly from the surface into vast hidden chambers. ✨
#caves⚡#karst⚡#geology⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography
👉more Channels
🌍 In Croatia’s Dinaric Alps, karst landscapes hide more than 10,000 known caves and sinkholes. Some systems stretch for over 20 kilometers underground, hosting rare, blind aquatic animals. ✨
#caves⚡#karst⚡#geology⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography🌍
🌍 The world’s largest cave chamber by volume, Sarawak Chamber in Borneo, is big enough to hold 40 jumbo jets. This massive cavern formed naturally in a karst limestone landscape. ✨
#caves⚡#karst⚡#geology⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography🌍
🌍 Vietnam’s Phong Nha Cave features tunnels over 44 kilometers long, with underground rivers and rare cave pearls—smooth mineral balls formed by dripping water in the dark. ✨
#caves⚡#karst⚡#geology⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography🌍
🌍 Some karst caves hold unique stone towers called "speleothems," which form slowly from dripping water. These underground forests can grow over tens of thousands of years. ✨
#caves⚡#karst⚡#geology⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography🌍
🌍 Caves in karst landscapes can grow huge underground chambers thanks to rainwater slowly dissolving limestone rock. Some contain rare crystals and underground rivers hidden from the surface. ✨
#caves⚡#karst⚡#geology⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography🌍
🌍 Rainwater can carve entire underground labyrinths in karst landscapes, creating vast networks of caves, tunnels, and sinkholes—some so deep and complex that new passages are still being found today. ✨
#caves⚡#karst⚡#erosion⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography
👉more Channels
🌍 Some of the world’s longest underground rivers are hidden in karst landscapes. These rivers can travel for dozens of kilometers beneath the surface before emerging in springs or caves. ✨
#caves⚡#karst⚡#hydrology⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography
👉more Channels
🌍 The world’s largest karst region is in southern China, where vast limestone hills, towers, and deep caves house rare species found nowhere else on Earth, including blind fish and giant salamanders. ✨
#karst⚡#caves⚡#limestone⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography
👉more Channels
🌍 In Croatia’s Velebit Mountains, karst landscapes feature underground streams that vanish into deep sinkholes, only to reappear as powerful springs many kilometers away. ✨
#karst⚡#caves⚡#springs⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography
👉more Channels
🌍 Some karst caves contain rare bacteria that feed on mineral rock, creating colorful biofilms and even helping form new cave crystals—making the underground world alive in ways few people expect. ✨
#caves⚡#karst⚡#microbiology⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography
👉more Channels