Возможно, стоит пояснить разницу между синхронизацией из thread/process-safe и синхронизацией с помощью Lock🤔
Наша задача — заставить разные процессы и потоки обращаться к базе данных (или любым другим ресурсам) последовательно. Чтобы не случилось так называемого race condition, то есть состояние гонки. Это когда разные потоки или процессы пытаются одновременно что-то сделать с одним и тем же ресурсом.
В этом случае нам нужна какая-то логика ограничения. Пока один процесс не завершил своё действие, другие не могут получить доступ к ресурсу.
Так вот, thread-safe и process-safe означает что отдельно взятые операции записи в БД гарантированно будут последовательны. Запросы из разных процессов или потоков выстроятся в очередь и не будут мешать друг другу. Лучше всего когда этот блок реализован на уровне БД в виде атомарных операций или ещё как-то.
Но зачем нам тогда еще дополнительный Lock?
Этот способ синхронизации используется когда процесс никак не укладывается в одно действие и должен сделать множество операций прежде чем дать доступ следующему. В этом случае процесс ставит некий глобальный Lock на ресурс и никто другой, даже получив законное право на доступ, не может ничего сделать. Все ждут пока этот Lock не будет снят.
Это решается на уровне приложения и правильность реализации полностью в вашей ответственности. Например, если забыли разблокировать или сделали перекрёстный Lock (Deadlock как на картинке), то всё зависнет в бесконечном ожидании.
#basic
Want a new, affordable home near your parents/ nature/ the city? Say no more, fam! 😎
We’re developing new housing areas across the island to meet housing demand, including Chencharu in Yishun, Bayshore, Mount Pleasant, Keppel, and Pearl’s Hill. With a wide variety of flats being planned, there will be a home for every budget and every need. #COS2024
#COS2024 MSE announced initiatives that will help Singapore press on towards net zero, protect our coastlines, and ensuring Singapore’s food security and safety. More ⬆️
Infographics: MSE
At #COS2024, the Singapore Government Partnerships Office was launched to facilitate engagements with Singaporeans. MCCY will also continue to strengthen the culture of care in Singapore to support lower-income families and those in need.
Infographics: MCCY
Sports, and arts and heritage are integral to Singapore’s shared identity. MCCY announced at #COS2024 enhanced support and new developments to encourage a vibrant sporting and arts environment.
Infographics: MCCY
At #COS2024, MOH highlighted key efforts to improve preventive health and aged care, and to expand hospital capacity and settings to include mental health services. MediShield Life will also be enhanced to provide Singaporeans with greater assurance.
More info ⬆️
Infographics: MOH
#COS2024 Find out how MOT is enhancing our transport systems to improve inclusivity, connectivity and sustainability for our commute, and growing the industries for livelihoods. ⬆️
Infographics: MOT
Key housing initiatives introduced at #COS2024 include more homes in the pipeline to increase supply, increased support for young and lower-income families to own their home, and building of elder-friendly homes and neighbourhoods.
More info ⬆️
Infographics: MND
#COS2024 MND announced new initiatives that keep public housing affordable, rejuvenate heartlands, and create a sustainable and inclusive city. Check out the initiatives ⬆️
Infographics: MND
#COS2024 Ministry of Manpower will continue strengthening support for workers and businesses amid global economic uncertainties. These include uplifting older and lower-wage workers through changes to the CPF system, enhanced Workfare schemes, and introducing Tripartite Guidelines on Flexible Work Arrangement Requests for progressive workplaces. Find out more ⬆️
Infographics: MOM
At #COS2024, MOE introduced various initiatives that will help re-envision learning, helping all Singaporean students pursue their dreams. Find out more ⬆
Infographics: MOE
#COS2024 MCI announced its plans to invest in Singaporeans and local businesses to help them leverage emerging technologies to remain competitive.
Infographic: MCI