Возможно, стоит пояснить разницу между синхронизацией из thread/process-safe и синхронизацией с помощью Lock🤔
Наша задача — заставить разные процессы и потоки обращаться к базе данных (или любым другим ресурсам) последовательно. Чтобы не случилось так называемого race condition, то есть состояние гонки. Это когда разные потоки или процессы пытаются одновременно что-то сделать с одним и тем же ресурсом.
В этом случае нам нужна какая-то логика ограничения. Пока один процесс не завершил своё действие, другие не могут получить доступ к ресурсу.
Так вот, thread-safe и process-safe означает что отдельно взятые операции записи в БД гарантированно будут последовательны. Запросы из разных процессов или потоков выстроятся в очередь и не будут мешать друг другу. Лучше всего когда этот блок реализован на уровне БД в виде атомарных операций или ещё как-то.
Но зачем нам тогда еще дополнительный Lock?
Этот способ синхронизации используется когда процесс никак не укладывается в одно действие и должен сделать множество операций прежде чем дать доступ следующему. В этом случае процесс ставит некий глобальный Lock на ресурс и никто другой, даже получив законное право на доступ, не может ничего сделать. Все ждут пока этот Lock не будет снят.
Это решается на уровне приложения и правильность реализации полностью в вашей ответственности. Например, если забыли разблокировать или сделали перекрёстный Lock (Deadlock как на картинке), то всё зависнет в бесконечном ожидании.
#basic
😄Advance
➖➖➖➖➖➖
🔘 Advance, the verb, can mean develop, improve and move forward.
🔜 You'll advance if you continue to study this hard.
🔘 Advance in this way can also be used as a noun.
🔜 There was an advance in sales when the software was updated.
🔘 Advance can be an adjective that means early.
🔜 I wish you'd given me advance warning of the redundancies.
🔘 If you ask for an advance, you ask to be given a payment before you are usually paid.
🔜 I asked for an advance because I had to pay a big bill.
#Advance👨🏫@America
➖➖➖➖➖➖➖➖➖➖➖➖
🆕 Crypto News @Money
😁 Crypto Game @Egame
🇺🇸 US News @America
🇯🇵 Japan News @Japan
🇦🇪 UAE News @Dubai
▶️ Popular Movies @Videos
😜 Best Funny Video @Funnys
😄Advance
➖➖➖➖➖➖
🔘 Advance, the verb, can mean develop, improve and move forward.
🔜 You'll advance if you continue to study this hard.
🔘 Advance in this way can also be used as a noun.
🔜 There was an advance in sales when the software was updated.
🔘 Advance can be an adjective that means early.
🔜 I wish you'd given me advance warning of the redundancies.
🔘 If you ask for an advance, you ask to be given a payment before you are usually paid.
🔜 I asked for an advance because I had to pay a big bill.
#Advance👨🏫@America
➖➖➖➖➖➖➖➖➖➖➖➖
🆕 Crypto News @Money
😁 Crypto Game @Egame
🇺🇸 US News @America
🇯🇵 Japan News @Japan
🇦🇪 UAE News @Dubai
▶️ Popular Movies @Videos
😜 Best Funny Video @Funnys
#Elezioni#RegnoUnito#Suppletive#GortonDenton
Risultati definitivi:
Affluenza: 47,6%
Hannah #Spencer (#Greens|G/EFA): 40,6%
Matt #Goodwin (#Reform|Destra populista): 28,7%
Angeliki #Stogia (#LAB|S&D): 25,4%
Charlotte #Cadden (#CON|Centro-destra): 1,9%
Jackie #Pearcey (#LDEM|RE): 1,8%
Sir Oink #ALot (#MRLP|Satirici): 0,4%
Nick #Buckley (#Advance|Estrema destra): 0,4%
Joseph #OMeachair (#RejoinEU|Europeisti): 0,3%
Dan #Clarke (#LPUK|Libertari): 0,1%
Sebastian #Moore (#SDP|Centro-sinistra conservatrice): 0,1%
Hugo #Wils (#CL|Estrema sinistra): 0,1%
Greens GUADAGNA su LAB.
I Verdi inglesi vincono per la prima volta nella loro storia una elezione suppletiva.
@OsservatorioEsteri