Возможно, стоит пояснить разницу между синхронизацией из thread/process-safe и синхронизацией с помощью Lock🤔
Наша задача — заставить разные процессы и потоки обращаться к базе данных (или любым другим ресурсам) последовательно. Чтобы не случилось так называемого race condition, то есть состояние гонки. Это когда разные потоки или процессы пытаются одновременно что-то сделать с одним и тем же ресурсом.
В этом случае нам нужна какая-то логика ограничения. Пока один процесс не завершил своё действие, другие не могут получить доступ к ресурсу.
Так вот, thread-safe и process-safe означает что отдельно взятые операции записи в БД гарантированно будут последовательны. Запросы из разных процессов или потоков выстроятся в очередь и не будут мешать друг другу. Лучше всего когда этот блок реализован на уровне БД в виде атомарных операций или ещё как-то.
Но зачем нам тогда еще дополнительный Lock?
Этот способ синхронизации используется когда процесс никак не укладывается в одно действие и должен сделать множество операций прежде чем дать доступ следующему. В этом случае процесс ставит некий глобальный Lock на ресурс и никто другой, даже получив законное право на доступ, не может ничего сделать. Все ждут пока этот Lock не будет снят.
Это решается на уровне приложения и правильность реализации полностью в вашей ответственности. Например, если забыли разблокировать или сделали перекрёстный Lock (Deadlock как на картинке), то всё зависнет в бесконечном ожидании.
#basic
If you have $10 in your wallet and no debt, you have more wealth than 25% of Americans.
Not because you’re rich… but because debt has so many people buried.
A reminder that sometimes, financial peace isn’t about how much you have—
It’s about how little you owe. 💡
Stay grounded. Stay grateful ❤️
#Countries
🔔@Everything_Science
Chinese government takes its officials and members of their families on prison tours on a regular basis to give officials an introduction to what awaits them if they should engage in corruption.
The tours include meet-and-greets with former government officials who were caught for corruption.
#Countries
🔔@Everything_Science
In Finland, the official World Wife-Carrying Championships have been held since 1992. In this competition, men carry their wives as fast as possible through a long obstacle course. In the end, the winner gets a beer for his wife's weight.
#Countries
🔔@Everything_Science
🌍 Monaco is the most densely populated country on Earth, with over 25,000 people per square kilometer. This tiny city-state squeezes more residents into each square mile than anywhere else. ✨
#population⚡#density⚡#Monaco⚡#countries⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography🌍
https://django-localflavor.readthedocs.io/en/latest/
#django- #localflavor is a collection of assorted pieces of code that are useful for particular #countries or #cultures. These are called the “local flavor” add-ons and live in the localflavor package.
🇿🇦🌍South Africa is the 25th largest country in the world.
It borders Namibia, Botswana, Zimbabwe, Mozambique, Eswatini (formerly Swaziland), and Lesotho.
🌊 On the west, South Africa is washed by the Atlantic Ocean, while to the south and southeast it is bordered by the Indian Ocean.
📏 Its area is about 1.21 million sq. km — roughly twice the size of France or three times the size of Germany.
🏞 The country consists of nine provinces.
#Geography#SouthAfrica#Africa#Countries#Facts#DidYouKnow
Lesson 20 of my Uzbek self-study course with audio is here! Learn how to say countries, nationalities and languages in Uzbek. The lesson includes exercises, tables, a crossword puzzle and clear grammar explanations.
https://yep.uz/en/2025/09/lesson-20-countries-nationalities-languages-uzbek/
#uzbeklanguage#learnuzbek#uzbeklesson#languages#nationalities#countries#selfstudy#languagelearning