Возможно, стоит пояснить разницу между синхронизацией из thread/process-safe и синхронизацией с помощью Lock🤔
Наша задача — заставить разные процессы и потоки обращаться к базе данных (или любым другим ресурсам) последовательно. Чтобы не случилось так называемого race condition, то есть состояние гонки. Это когда разные потоки или процессы пытаются одновременно что-то сделать с одним и тем же ресурсом.
В этом случае нам нужна какая-то логика ограничения. Пока один процесс не завершил своё действие, другие не могут получить доступ к ресурсу.
Так вот, thread-safe и process-safe означает что отдельно взятые операции записи в БД гарантированно будут последовательны. Запросы из разных процессов или потоков выстроятся в очередь и не будут мешать друг другу. Лучше всего когда этот блок реализован на уровне БД в виде атомарных операций или ещё как-то.
Но зачем нам тогда еще дополнительный Lock?
Этот способ синхронизации используется когда процесс никак не укладывается в одно действие и должен сделать множество операций прежде чем дать доступ следующему. В этом случае процесс ставит некий глобальный Lock на ресурс и никто другой, даже получив законное право на доступ, не может ничего сделать. Все ждут пока этот Lock не будет снят.
Это решается на уровне приложения и правильность реализации полностью в вашей ответственности. Например, если забыли разблокировать или сделали перекрёстный Lock (Deadlock как на картинке), то всё зависнет в бесконечном ожидании.
#basic
Other than firefighters and medics, the first people that went to help are local citizens everywhere from the city bringing food and their own supplies. However, to the #HKGov took all the credits. They called the cops to drive those volunteers away and the “Care Team” from the government takes pictures in front of those supplies that belongs to the volunteers. This is awfully disgusting.
#HongKongFire#宏福苑大火
Bamboo becomes the Scapegoat this time!
Everyone #HongKongers expected the #HKGov would find a scapegoat way before the fire was put out. What surprising was that this time it wasn’t a person, but the bamboo.
The “Mandatory Inspection Scheme” in Hong Kong, initiated by the government is the very reason that caused this tragedy.
To put it short:
1 - Government requires home owners to remake the buildings wall.
2 - Pro-Beijing & construction agencies infiltrated Home Owners Corporation.
3 - Hire construction companies with extremely high price.
4 - all materials and workers not meeting safety standards are purchased from China.
5 - $$ goes to China.
#HongKongFire#宏福苑大火
#英文#港聞
Several #HongKongers returned to Hong Kong from UK got arrested for getting their MPF (Mandatory Provident Fund).
This is just an excuse for the #HKGov to punish #HongKongers for immigrating to the UK. The #UKGov must take action!
🍎保留一點真相、一些堅持:
https://t.me/appledailyhk26
🍎蘋果報料熱線: @Appledailyhk_bot
🍎蘋民不蘋則鳴!2.0
https://t.me/hkerappledaily2