Возможно, стоит пояснить разницу между синхронизацией из thread/process-safe и синхронизацией с помощью Lock🤔
Наша задача — заставить разные процессы и потоки обращаться к базе данных (или любым другим ресурсам) последовательно. Чтобы не случилось так называемого race condition, то есть состояние гонки. Это когда разные потоки или процессы пытаются одновременно что-то сделать с одним и тем же ресурсом.
В этом случае нам нужна какая-то логика ограничения. Пока один процесс не завершил своё действие, другие не могут получить доступ к ресурсу.
Так вот, thread-safe и process-safe означает что отдельно взятые операции записи в БД гарантированно будут последовательны. Запросы из разных процессов или потоков выстроятся в очередь и не будут мешать друг другу. Лучше всего когда этот блок реализован на уровне БД в виде атомарных операций или ещё как-то.
Но зачем нам тогда еще дополнительный Lock?
Этот способ синхронизации используется когда процесс никак не укладывается в одно действие и должен сделать множество операций прежде чем дать доступ следующему. В этом случае процесс ставит некий глобальный Lock на ресурс и никто другой, даже получив законное право на доступ, не может ничего сделать. Все ждут пока этот Lock не будет снят.
Это решается на уровне приложения и правильность реализации полностью в вашей ответственности. Например, если забыли разблокировать или сделали перекрёстный Lock (Deadlock как на картинке), то всё зависнет в бесконечном ожидании.
#basic
🎬 Победитель недели в креативном видеоконкурсе!
Поздравляем единственного автора, чье видео прошло все условия отбора на прошлой неделе! 🏆
Победитель:
• UID: e12wi3q
• Платформа: YouTube
🎯 Конкурс продолжается до 30 ноября!
Успей снять и загрузить свое видео по игре «Тотал Футбол» с хештегами #ТоталФутбол#TotalFootball
Полные правила и условия участия:
👉https://t.me/totalfootball_official/290
Твой контент — твой шанс на победу! 🚀
🎬 Победитель недели в креативном видеоконкурсе!
Поздравляем единственного автора, чье видео прошло все условия отбора на прошлой неделе! 🏆
Победитель:
• UID: e127g64
• Платформа: TikTok
@iammaxim_s
🎯 Конкурс продолжается до 30 ноября!
Успей снять и загрузить свое видео по игре «Тотал Футбол» с хештегами #ТоталФутбол#TotalFootball
Полные правила и условия участия:
👉https://t.me/totalfootball_official/290
Твой контент — твой шанс на победу! 🚀
⚽️Голы! Сэйвы! Хайлайты недавнего стрима уже готовы!🚀
🔥Готовьте попкорн: самые эпичные моменты стрима уже здесь!
Спасибо всем участникам — вы так эффектно обыграли Амкал, что ребята до сих пор в себя прийти не могут! 😂🎉
#totalfootball#amkalfc
Ажиотаж вокруг Тотал Футбол X РПЛ на форуме «Россия — Спортивная Держава»! 🔥
Вокруг Тотал Футбол не протолкнуться — представители ведущих СМИ, футбольных клубов и спортивных федераций собрались возле нас, чтобы самим испытать игру в действии! 📹⚽️
Быть в центре внимания всей спортивной России — это огромная честь для нас! ❤️
Смотрите, как это было, и прочувствуйте энергию события! ⬇️
А вы уже видели этот хайп? Ставьте лайк, если гордитесь нашей общей работой! 🔥
#TotalFootball#РоссияСпортивнаяДержава#RPL
Мы тут на Международном спортивном форуме «Россия — спортивная держава», и легенды Российской Премьер-Лиги (РПЛ) вживую пробуют Тотал Футбол! 💪⚽️
Видели бы вы, с каким азартом они зажигают в игре! 🔥
А теперь главный вопрос: Угадайте, игроки какого клуба сейчас у нас в гостях? 👀
Варианты:
🥅 Зенит
⚽️ Спартак
❤️ ЦСКА
😄 Крылья Советов
🔥 Динамо Mахачкала
Пишите свои ответы в комментариях! 👇 Самых догадливых ждёт крутая награда!
🎁Наград: Агентский Контракт x1000, Карта Усиления I x3, ЕВРОx50000
#TotalFootball#RPL#РПЛ#РоссияСпортивнаяДержава
🔥Конкурс прогнозов уже здесь!
Угадайте хотя бы один из пунктов:
⚽️ исход матча
⚽️ общее количество голов
⚽️ общее количество жёлтых карточек
За правильный прогноз — получите набор【83+】Игрок года ×1 и 1000 агентских контрактов ⚽️
🤩Если никто не угадает — случайным образом выберем 10 участников и подарим ресурсные наборы!
#ЛигаЕвропы#Финал#TotalFootball#ТоталФутбол
✍️Ждём ваши прогнозы в комментария