Возможно, стоит пояснить разницу между синхронизацией из thread/process-safe и синхронизацией с помощью Lock🤔
Наша задача — заставить разные процессы и потоки обращаться к базе данных (или любым другим ресурсам) последовательно. Чтобы не случилось так называемого race condition, то есть состояние гонки. Это когда разные потоки или процессы пытаются одновременно что-то сделать с одним и тем же ресурсом.
В этом случае нам нужна какая-то логика ограничения. Пока один процесс не завершил своё действие, другие не могут получить доступ к ресурсу.
Так вот, thread-safe и process-safe означает что отдельно взятые операции записи в БД гарантированно будут последовательны. Запросы из разных процессов или потоков выстроятся в очередь и не будут мешать друг другу. Лучше всего когда этот блок реализован на уровне БД в виде атомарных операций или ещё как-то.
Но зачем нам тогда еще дополнительный Lock?
Этот способ синхронизации используется когда процесс никак не укладывается в одно действие и должен сделать множество операций прежде чем дать доступ следующему. В этом случае процесс ставит некий глобальный Lock на ресурс и никто другой, даже получив законное право на доступ, не может ничего сделать. Все ждут пока этот Lock не будет снят.
Это решается на уровне приложения и правильность реализации полностью в вашей ответственности. Например, если забыли разблокировать или сделали перекрёстный Lock (Deadlock как на картинке), то всё зависнет в бесконечном ожидании.
#basic
☝️Bilasizmi?
🏋🏻♂️ Ogʻir atletika boʻyicha Oʻzbekiston terma jamoasi kattalar oʻrtasidagi jahon chempionatlarida ketma-ket 5 bor oltin medal qoʻlga kiritdi. Bunday natijani hech bir jamoamiz takrorlay olmagan.
—
☝️ Знаете ли вы?
🏋🏻♂️ Сборная Узбекистана по тяжёлой атлетике уже пятый раз подряд удостоилась золотой награды на чемпионатах мира среди взрослых. Ни одна другая отечественная команда пока не смогла повторить такой результат.
#Fakt
👉@OlympicUz
olympic.uz I YouTube I Instagram I
#FAKT
BMB Professional Futzal Klubi tashkil etilganidan buyon mamlakat chempionatida Navoiyning “Qizilqum” jamoasiga qarshi ikki bor toʻqnash kelgan.
Ilk bahsda 7-1, ikkinchi bahsda esa 8-0 hisobida gʻalaba qayd etib, “Oq Yoʻlbarslar”ning qoʻli baland kelgan.
Bugun ular yana bir bor oʻzaro toʻqnash keladi.
BMB PFC - QIZILQUM uchrashuvi muxlislar uchun tomoshabop boʻlishi kutilmoqda.
Soat 19:00 da Andijon shahridagi “Universal SM”da start oladigan bahsga barcha futzal ixlosmandlarini taklif etamiz.
OʻTKAZIB YUBORMANG!
Telegram|Facebook|Instagram | Uzum
#FAKT
“Oq Yoʻlbarslar”ning “Neftchi” jamoasiga qarshi kechgan soʻngi ikki uchrashuvi “Oʻzbekiston kubogi” chorak finaliga toʻgʻri kelgan edi. Buxoro shahrida boʻlib oʻtgan bosqichda 9-0 hamda 8-0 hisobida BMB PFC ustun kelgan boʻlib, umumiy hisobda raqiblar darvozasiga 17 ta gol kiritilgan.
Bugun boʻlib oʻtadigan navbatdagi bahs ham gollarga boy boʻlishi kutilmoqda. Uchrashuv soat 17:00 da Andijon shahridagi “Universal SM”da start oladi.
OʻTKAZIB YUBORMANG!
Telegram|Facebook|Instagram | Uzum
#Fakt
Roʻziqul Berdiyev professional faoliyatidagi ilk golini “Yangiyer” jamoasi safida kiritgan. U o‘z debyut golini o‘yin yakuniga yaqin, 90-daqiqada “Paxtakor” darvozasiga yo‘llab, faoliyatiga unutilmas start bergan.
https://t.me/AbdullaCAfotograf
#fakt
AMIR TEMUR QABRI NEGA OCHILGAN? USHBU VIDEO ORQALI SIZ BILMAGAN MA’LUMOTLARGA EGA BOʻLASIZ?
📮𝒀𝒐'𝒍𝒊𝒎𝒊𝒛-𝒃𝒊𝒓!
📝Telegram
💻Instagram
🎞Youtube🎙Radio FM _106.7
#fakt
✏️Fargʻonaning eng goʻzal shaharlaridan biri Margʻilon tarixi haqida nimalarni bilasiz?
Videoni koʻring va ma’lumot oling!
📮𝒀𝒐'𝒍𝒊𝒎𝒊𝒛-𝒃𝒊𝒓!
📝Telegram
💻Instagram
🎞Youtube🎙Radio FM _106.7
#FAKT|
📢FARG'ONA VILOYATINING HUNARMANDLAR SHAHRI HISOBLANGAN RISHTON TUMANI HAQIDA NIMALARNI BILASIZ? USHBU VIDEO QADIMGI VA HOZIRGI RISHTON HAQIDA
📮𝒀𝒐'𝒍𝒊𝒎𝒊𝒛-𝒃𝒊𝒓!
📝Telegram
💻Instagram
🎞Youtube🎙Radio FM _106.7