Возможно, стоит пояснить разницу между синхронизацией из thread/process-safe и синхронизацией с помощью Lock🤔
Наша задача — заставить разные процессы и потоки обращаться к базе данных (или любым другим ресурсам) последовательно. Чтобы не случилось так называемого race condition, то есть состояние гонки. Это когда разные потоки или процессы пытаются одновременно что-то сделать с одним и тем же ресурсом.
В этом случае нам нужна какая-то логика ограничения. Пока один процесс не завершил своё действие, другие не могут получить доступ к ресурсу.
Так вот, thread-safe и process-safe означает что отдельно взятые операции записи в БД гарантированно будут последовательны. Запросы из разных процессов или потоков выстроятся в очередь и не будут мешать друг другу. Лучше всего когда этот блок реализован на уровне БД в виде атомарных операций или ещё как-то.
Но зачем нам тогда еще дополнительный Lock?
Этот способ синхронизации используется когда процесс никак не укладывается в одно действие и должен сделать множество операций прежде чем дать доступ следующему. В этом случае процесс ставит некий глобальный Lock на ресурс и никто другой, даже получив законное право на доступ, не может ничего сделать. Все ждут пока этот Lock не будет снят.
Это решается на уровне приложения и правильность реализации полностью в вашей ответственности. Например, если забыли разблокировать или сделали перекрёстный Lock (Deadlock как на картинке), то всё зависнет в бесконечном ожидании.
#basic
👀 Первый взгляд на кроссовки из коллаборации Jogel x Андрей Кириленко
Вчера на домашнем матче «Юты Джаз» Андрей Кириленко был замечен на кортсайде в кроссовках, которые ранее никто не видел.
На кроссовках красуется цифра 47. Этот номер был выбран не случайно. Его прозвище — АК-47, где АК — это инициалы (Андрей Кириленко), а 47 — игровой номер. Именно под номером 47 он играл за «Юту Джаз», «Миннесота Тимбервулвз» и «Бруклин Нетс». Этот же номер он носил и в ЦСКА Москва.
На подошве и внутренней стороне кроссовка видны логотипы Jogel, а на заднике айдентика коллекции «АК».
Как вам модель для повседневной носки?
#sneakers@madeinrussia
💥Ravensburger - Puzzle 3D Niños Portalápices Sneaker Super Mario
Regala diversión y creatividad esta Navidad
✅OFERTA: 14.98€
❌ Antes: 25.45€
💰Ahorras un 41%🔥
Desarrolla habilidades manuales y fomenta la concentración
👉 Haz que la diversión comience ahora
#puzzle3d#maquetas#regalos#ninos#navidad#ofertas#viral#sneakers
🛰️Oferta publicada en Cultura y Ocio
🚨 ¡CHOLLO BRUTAL! 🚨
Zapatillas PUMA Rebound V6 por solo 31,45€ 🔥
✅ Estilo clásico y versátil
✅ Unisex y super cómodas
✅ Calidad PUMA a precio de risa
¡No las dejes escapar! 👇
🔗https://amzn.to/4bXx8DM
#Chollo#Oferta#Puma#Sneakers#Moda#AmazonDeals
#Aliexpress
Air Force 1 Nike Low "Panda" black and white casual retro versatile men and women sports shoes, anti slip low top board #shoes#sneakers#Nike#Adidas#puma
Coupon 5€👈 click here
Price 40€
Buy
https://s.click.aliexpress.com/e/_EJNOf0N