Возможно, стоит пояснить разницу между синхронизацией из thread/process-safe и синхронизацией с помощью Lock🤔
Наша задача — заставить разные процессы и потоки обращаться к базе данных (или любым другим ресурсам) последовательно. Чтобы не случилось так называемого race condition, то есть состояние гонки. Это когда разные потоки или процессы пытаются одновременно что-то сделать с одним и тем же ресурсом.
В этом случае нам нужна какая-то логика ограничения. Пока один процесс не завершил своё действие, другие не могут получить доступ к ресурсу.
Так вот, thread-safe и process-safe означает что отдельно взятые операции записи в БД гарантированно будут последовательны. Запросы из разных процессов или потоков выстроятся в очередь и не будут мешать друг другу. Лучше всего когда этот блок реализован на уровне БД в виде атомарных операций или ещё как-то.
Но зачем нам тогда еще дополнительный Lock?
Этот способ синхронизации используется когда процесс никак не укладывается в одно действие и должен сделать множество операций прежде чем дать доступ следующему. В этом случае процесс ставит некий глобальный Lock на ресурс и никто другой, даже получив законное право на доступ, не может ничего сделать. Все ждут пока этот Lock не будет снят.
Это решается на уровне приложения и правильность реализации полностью в вашей ответственности. Например, если забыли разблокировать или сделали перекрёстный Lock (Deadlock как на картинке), то всё зависнет в бесконечном ожидании.
#basic
У нас много традиций: делать крутые кейсы и исследования, играть настолки в офисе и каждый четверг делиться с командой чем-то полезным на demo day. Этим летом появилась ещё одна — aic.weekend.
aic.weekend — это собраться с любимыми коллегами в парке, принести еду и хорошенько отдохнуть. Заняться йогой, вкусно поесть, попеть и потанцевать под музыку aic.band❤️
Именно так мы провели 13 августа 🙌 Смотрите видео, чтобы зарядиться позитивом ✨
#picnic
Thinking about Father's Day plans? Why not organise a memorable picnic? Here are some tips to make it fun and eco-friendly. #FathersDay#EcoFriendly#Picnic#SayYEStoWasteLess
A mini picnic in the park. 🧺
Just being here and now is the best plan for the day.
Мини-пикник в парке. 🧺
Просто быть здесь и сейчас — лучший план на день.
#LunaEverly#Picnic#DayMindset#Park#Simplicity
✔️Attention all picnic lovers!
📌 We're excited to announce a picnic day at the beautiful BELDERSOY location right after Midterm exams. Get ready to spend a fun-filled day surrounded by lush greenery, serene landscapes and the company of great people.
🤩 The best part? This event is fully free for all to join! That's right, all you need to do is show up with a smile on your face and a willingness to have a good time. And, if you're feeling extra peckish, 😊 feel free to bring along your favorite snacks and drinks to share with others.
Don't miss out on this amazing opportunity to enjoy the great outdoors and connect with like-minded people. Spread the word, mark your calendars, and we'll see you at Beldersoy on May 6th! 🌳🌞🧺
🗓 May 6th (Saturday)
⏰ Departure - 6 AM
Return - 6 PM
Best Regards,
Student Government.
#picnic#Beldersoy#May6th#funinthesun