Возможно, стоит пояснить разницу между синхронизацией из thread/process-safe и синхронизацией с помощью Lock🤔
Наша задача — заставить разные процессы и потоки обращаться к базе данных (или любым другим ресурсам) последовательно. Чтобы не случилось так называемого race condition, то есть состояние гонки. Это когда разные потоки или процессы пытаются одновременно что-то сделать с одним и тем же ресурсом.
В этом случае нам нужна какая-то логика ограничения. Пока один процесс не завершил своё действие, другие не могут получить доступ к ресурсу.
Так вот, thread-safe и process-safe означает что отдельно взятые операции записи в БД гарантированно будут последовательны. Запросы из разных процессов или потоков выстроятся в очередь и не будут мешать друг другу. Лучше всего когда этот блок реализован на уровне БД в виде атомарных операций или ещё как-то.
Но зачем нам тогда еще дополнительный Lock?
Этот способ синхронизации используется когда процесс никак не укладывается в одно действие и должен сделать множество операций прежде чем дать доступ следующему. В этом случае процесс ставит некий глобальный Lock на ресурс и никто другой, даже получив законное право на доступ, не может ничего сделать. Все ждут пока этот Lock не будет снят.
Это решается на уровне приложения и правильность реализации полностью в вашей ответственности. Например, если забыли разблокировать или сделали перекрёстный Lock (Deadlock как на картинке), то всё зависнет в бесконечном ожидании.
#basic
💥Kit Supervivencia Magnesio Mechero 7 En 1
Un compañero indispensable para tus aventuras al aire libre
✅OFERTA: 7.99€
❌ Antes: 9.99€
💰Ahorras un 20%🔥
Encendedor resistente a la intemperie con mango de madera hecho a mano
👉 Prepárate para la naturaleza
#supervivencia#acampada#senderismo#outdoor#navidad#descuentos#viral
🛰️Oferta publicada en Deporte y Outdoor
💥Brújula Profesional Fluorescente
Encuentra tu camino con estilo
✅OFERTA: 7.59€
❌ Antes: 9.99€
💰Ahorras un 24%🔥
Diseño impermeable y multifuncional ideal para senderismo y supervivencia
👉 Explora la naturaleza con confianza
#brujulaprofesional#brujasdeorientacion#brujulaimpermeable#senderismo#supervivencia#outdoor#navidad
🛰️Oferta publicada en Deporte y Outdoor
💥Paquete de 4 linternas LED para acampar ILEEDear
Ilumina tus aventuras al aire libre con total seguridad
✅OFERTA: 21.48€
❌ Antes: 29.99€
💰Ahorras un 28%🔥
Máxima luminosidad para emergencias y actividades nocturnas
👉 Hazte con ellas y brilla en cada momento
#linternasled#camping#supervivencia#huracanes#apagones#outdoor#ofertas#navidad
🛰️Oferta publicada en Deporte y Outdoor
💥LifeStraw Peak Series - Filtro de Agua Personal
Tu compañero de aventuras en esta Navidad
✅OFERTA: 22.4€
❌ Antes: 29.95€
💰Ahorras un 25%🔥
Agua segura en cualquier situación, ligero y fácil de transportar
👉 Asegura tu hidratación ahora
#lifestraw#filtrodeagua#supervivencia#outdoor#emergencia#montana#navidad#ofertas
🛰️Oferta publicada en Deporte y Outdoor
💥RoverTac Multitool Hacha Hacha
El regalo perfecto para los amantes de la aventura
✅OFERTA: 19.99€
❌ Antes: 24.99€
💰Ahorras un 20%🔥
14 herramientas en 1 para cualquier situación en camping, senderismo o supervive
👉 Equípate para la aventura esta Navidad
#multitool#herramientamultiuso#camping#senderismo#regalosparahombres#navidad#supervivencia#outdoor
🛰️Oferta publicada en Deporte y Outdoor
🈴⊳Manga: GACHIAKUTA
✔️Tipo: Manga
✔️Géneros: #Acción#Drama
#Aventura#Supervivencia
#Fantasía#Apocalíptico
✔️Estado: #Emisión
✔️Capitulos: 144
✔️Fansub: Ukogi Fansub
🔰Sinopsis: En los barrios bajos, habitan los descendientes de criminales que la gente al otro lado del lindero desdeña y discrimina como meros “lugareños”. Ludo es uno de ellos, un niño huérfano que vive con su padre adoptivo Legto y que usa fuerza física más allá de lo ordinario como un arma para ganarse la vida. Un día, sin embargo, lo acusan de un crimen que no cometió y lo arrojan al “abismo” al que incluso los habitantes de los barrios bajos temen.
#Gachiakuta