Возможно, стоит пояснить разницу между синхронизацией из thread/process-safe и синхронизацией с помощью Lock🤔
Наша задача — заставить разные процессы и потоки обращаться к базе данных (или любым другим ресурсам) последовательно. Чтобы не случилось так называемого race condition, то есть состояние гонки. Это когда разные потоки или процессы пытаются одновременно что-то сделать с одним и тем же ресурсом.
В этом случае нам нужна какая-то логика ограничения. Пока один процесс не завершил своё действие, другие не могут получить доступ к ресурсу.
Так вот, thread-safe и process-safe означает что отдельно взятые операции записи в БД гарантированно будут последовательны. Запросы из разных процессов или потоков выстроятся в очередь и не будут мешать друг другу. Лучше всего когда этот блок реализован на уровне БД в виде атомарных операций или ещё как-то.
Но зачем нам тогда еще дополнительный Lock?
Этот способ синхронизации используется когда процесс никак не укладывается в одно действие и должен сделать множество операций прежде чем дать доступ следующему. В этом случае процесс ставит некий глобальный Lock на ресурс и никто другой, даже получив законное право на доступ, не может ничего сделать. Все ждут пока этот Lock не будет снят.
Это решается на уровне приложения и правильность реализации полностью в вашей ответственности. Например, если забыли разблокировать или сделали перекрёстный Lock (Deadlock как на картинке), то всё зависнет в бесконечном ожидании.
#basic
⚽️🏴Premier
Oficial: Kepa se marcha cedido al Bournemouth#Bournemouth#Kepa
El futuro de Kepa ya se ha decidido. El guardameta ha estado todo el verano esperando a ver qué podía pasar con Lunin y el Real Madrid, pero finalmente hace las maletas para seguir en la Premier League. Su nuevo club, el Bournemouth, al que llega en calidad de cedido para intentar seguir sumando minutos. Lo hace, eso sí, renovando con el Chelsea un año más para no irse el próximo verano gratis.
https://www.marca.com/futbol/premier-league/2024/08/29/66d0466c268e3ebe7a8b4595.html
🏆@Info288_deportes
Jugador del día 15/08/2025:
HUGO EKITIKE 🇨🇵
#Liverpool arrancó con el pie derecho la defensa del título.
Gol, asistencia y gran actuación del francés para que los reds le ganen al #Bournemouth⚽️
#WorldFootballMVP
#PremierLeague
🗞Vía:Jugador del Día
@LaGuiadelFutbol
England Premier League🏴
2026-04-22 19:00 UTC
Bournemouth vs. Leeds
Predicted outcome: Draw✅
Predicted score: 1:1
Actual: Draw 2:2
#Bournemouth#Leeds
2026-04-22 19:00 UTC
Burnley vs. Manchester City
Predicted outcome: Manchester City✅
Predicted score: 1:3
Actual: Manchester City 0:1
#Burnley#ManchesterCity
#Football#PremierLeague
England Premier League🏴
2026-05-03 13:00 UTC
Bournemouth vs. Crystal Palace
Predicted outcome: Bournemouth✅
Predicted score: 2:1
Actual: Bournemouth 3:0
#Bournemouth#CrystalPalace
2026-05-03 14:30 UTC
Manchester United vs. Liverpool
Predicted outcome: Manchester United✅
Predicted score: 2:1
Actual: Manchester United 3:2
#ManchesterUnited#Liverpool
2026-05-03 18:00 UTC
Aston Villa vs. Tottenham
Predicted outcome: Aston Villa❌
Predicted score: 2:1
Actual: Tottenham 1:2
#AstonVilla#Tottenham
#Football#PremierLeague
England Premier League🏴
2026-05-09 11:30 UTC
Liverpool vs. Chelsea
Predicted outcome: Liverpool❌
Predicted score: 3:2
Actual: Draw 1:1
#Liverpool#Chelsea
2026-05-09 14:00 UTC
Fulham vs. Bournemouth
Predicted outcome: Bournemouth✅
Predicted score: 1:2
Actual: Bournemouth 0:1
#Fulham#Bournemouth
2026-05-09 14:00 UTC
Brighton vs. Wolves
Predicted outcome: Brighton✅
Predicted score: 2:0
Actual: Brighton 3:0
#Brighton#Wolves
2026-05-09 14:00 UTC
Sunderland vs. Manchester United
Predicted outcome: Manchester United❌
Predicted score: 1:2
Actual: Draw 0:0
#Sunderland#ManchesterUnited
2026-05-09 16:30 UTC
Manchester City vs. Brentford
Predicted outcome: Manchester City✅
Predicted score: 2:1
Actual: Manchester City 3:0
#ManchesterCity#Brentford
#Football#PremierLeague
England Premier League🏴
2026-04-18 11:30 UTC
Brentford vs. Fulham
Predicted outcome: Brentford❌
Predicted score: 2:1
Actual: Draw 0:0
#Brentford#Fulham
2026-04-18 14:00 UTC
Newcastle vs. Bournemouth
Predicted outcome: Draw❌
Predicted score: 2:2
Actual: Bournemouth 1:2
#Newcastle#Bournemouth
2026-04-18 14:00 UTC
Leeds vs. Wolves
Predicted outcome: Leeds✅
Predicted score: 2:1
Actual: Leeds 3:0
#Leeds#Wolves
2026-04-18 16:30 UTC
Tottenham vs. Brighton
Predicted outcome: Brighton❌
Predicted score: 1:2
Actual: Draw 2:2
#Tottenham#Brighton
2026-04-18 19:00 UTC
Chelsea vs. Manchester United
Predicted outcome: Draw❌
Predicted score: 2:2
Actual: Manchester United 0:1
#Chelsea#ManchesterUnited
#Football#PremierLeague