Возможно, стоит пояснить разницу между синхронизацией из thread/process-safe и синхронизацией с помощью Lock🤔
Наша задача — заставить разные процессы и потоки обращаться к базе данных (или любым другим ресурсам) последовательно. Чтобы не случилось так называемого race condition, то есть состояние гонки. Это когда разные потоки или процессы пытаются одновременно что-то сделать с одним и тем же ресурсом.
В этом случае нам нужна какая-то логика ограничения. Пока один процесс не завершил своё действие, другие не могут получить доступ к ресурсу.
Так вот, thread-safe и process-safe означает что отдельно взятые операции записи в БД гарантированно будут последовательны. Запросы из разных процессов или потоков выстроятся в очередь и не будут мешать друг другу. Лучше всего когда этот блок реализован на уровне БД в виде атомарных операций или ещё как-то.
Но зачем нам тогда еще дополнительный Lock?
Этот способ синхронизации используется когда процесс никак не укладывается в одно действие и должен сделать множество операций прежде чем дать доступ следующему. В этом случае процесс ставит некий глобальный Lock на ресурс и никто другой, даже получив законное право на доступ, не может ничего сделать. Все ждут пока этот Lock не будет снят.
Это решается на уровне приложения и правильность реализации полностью в вашей ответственности. Например, если забыли разблокировать или сделали перекрёстный Lock (Deadlock как на картинке), то всё зависнет в бесконечном ожидании.
#basic
#TRAINING | #GYM
Bugungi fitness mashgʻulotida jamoamiz jismoniy holat ustida jiddiy ishladi. Kuch, chidamlilik va muvozanatni rivojlantirishga qaratilgan mashqlar orqali futzalchilar o‘z sport formalarini yanada mustahkamlashmoqda. Mashgʻulot jarayonlari doimgidek “MDIST SC”da boʻlib oʻtdi.
Telegram|Facebook|Instagram | Uzum
#TRAINING | #GYM
Ertalabki fitness mashg‘uloti o‘tkazildi.
Jismoniy tayyorgarlikni mustahkamlash va sportchilarning umumiy holatini yaxshilashga qaratilgan mashg‘ulot reja asosida “MDIST SC” fitness zalida tashkil etildi.
Shuningdek jamoamiz bugun ikkinchi bosqich mashgʻulotini ham oʻtkazadi. U haqida kechki postlarimizda batafsil bilib olishingiz mumkin.
Telegram|Facebook|Instagram | Uzum
#FITNESS_TRAINING
#GYM
BMB PFC mashgʻulotlarni davom ettirmoqda. Navbatdagi mashgʻulot jarayonlari fitnes zalida oʻtkazildi.
Jismoniy kuchni yanada yaxshilashga qaratilgan mashgʻulot jarayonlari “MDIST SC”da boʻlib oʻtdi.
Telegram|Facebook|Instagram | Uzum
#FITNESS_TRAINING
#GYM
BMB PFC mashgʻulotlarni davom ettirmoqda. Navbatdagi mashgʻulot jarayonlari fitnes zalida oʻtkazildi.
Jismoniy kuch — bu nafaqat mushaklar, bu ishonch, qat’iyat va gʻalabaga boʻlgan ishtiyoqdir.
BMB sog’lom turmush tarzi tarafdori, Za'faron sog'lig'ingiz garovi.
Kuzatishda davom eting. Tavsiya etamiz: BMB ZA’FARON mahsuloti. Buyurtma qilish uchun:
📞 Call center
+998555162299
Telegram|Facebook|Instagram | Uzum
#FITNESS_TRAINING
#GYM
BMB PFC “Oliy liga” 3-tur uchrashuvlariga tayyorgarlikni davom ettirmoqda. Bugungi dastlabki mashgʻulot jarayonlari fitnes zalida oʻtkazildi.
BMB sog’lom turmush tarzi tarafdori, Za'faron sog'lig'ingiz garovi.
Kuzatishda davom eting. Tavsiya etamiz: BMB ZA’FARON mahsuloti. Buyurtma qilish uchun:
📞 Call center
+998555162299
Telegram|Facebook|Instagram | Uzum