Возможно, стоит пояснить разницу между синхронизацией из thread/process-safe и синхронизацией с помощью Lock🤔
Наша задача — заставить разные процессы и потоки обращаться к базе данных (или любым другим ресурсам) последовательно. Чтобы не случилось так называемого race condition, то есть состояние гонки. Это когда разные потоки или процессы пытаются одновременно что-то сделать с одним и тем же ресурсом.
В этом случае нам нужна какая-то логика ограничения. Пока один процесс не завершил своё действие, другие не могут получить доступ к ресурсу.
Так вот, thread-safe и process-safe означает что отдельно взятые операции записи в БД гарантированно будут последовательны. Запросы из разных процессов или потоков выстроятся в очередь и не будут мешать друг другу. Лучше всего когда этот блок реализован на уровне БД в виде атомарных операций или ещё как-то.
Но зачем нам тогда еще дополнительный Lock?
Этот способ синхронизации используется когда процесс никак не укладывается в одно действие и должен сделать множество операций прежде чем дать доступ следующему. В этом случае процесс ставит некий глобальный Lock на ресурс и никто другой, даже получив законное право на доступ, не может ничего сделать. Все ждут пока этот Lock не будет снят.
Это решается на уровне приложения и правильность реализации полностью в вашей ответственности. Например, если забыли разблокировать или сделали перекрёстный Lock (Deadlock как на картинке), то всё зависнет в бесконечном ожидании.
#basic
¡¡¡LA FIEBRE AMARILLA HA VUELTO!!!
▪️ Habrá dos cabezas de serie Nº7/Nº8 (Lakers en el oeste y Miami en el este) en las finales de conferencia de una misma temporada por PRIMERA VEZ en TODA la historia de la #NBA.
▪️ Lakers es el SEGUNDO equipo del oeste que llega a las finales… https://t.co/BBQT90Jnivhttps://t.co/26DgtEcEl5
SAC 100-120 GSW (FT)
▪️ Golden State Warriors es el primer vigente campeón en TODA la historia de la #NBA que supera la primera ronda de los playoffs ganando un séptimo partido fuera de casa.
▪️ Los Warriors han ganado un séptimo partido fuera de casa por TERCERA vez en su… https://t.co/pUhVvpterC
Temporadas en las que Detroit Pistons fue el peor equipo de la #NBA 1965-66 (tardaron 23 años en volver a ser campeones) 1979-80 (tardaron 9 años en volver a ser campeones) 2022-23 Temporadas en las que San Antonio Spurs fue el peor equipo del oeste: 2022-23
🏀🇺🇸NBA
El épico nepotismo de LeBron James marca el inicio de la NBA#NBA
La NBA comienza en la madrugada del miércoles (hora española) y ya son toneladas de tinta las que han corrido en las últimas semanas sobre la mejor liga de baloncesto del mundo. Son los Boston Celtics, actuales campeones y equipo más laureado de la competición con 18 anillos, los principales protagonistas de la temporada 2024-25 por su favoritismo para repetir éxito. También los New York Knicks, que tras fichar al ala pívot Karl Anthony Towns pretenden romper la maldición de 51 años sin hacerse con la corona. Incluso los Dallas Mavericks de Luka Doncic levantan extensa expectación después de llegar a las finales de la última edición y haber adquirido a Klay Thompson, uno de los emblemas de la última dinastía de la competición, los Golden State Warriors.
LeBron James será el primer jugador de la historia de la liga en compartir vestuario con su hijo, Bronny James. La estrella de Los Angeles Lakers, tras ganar cinco anillos con cuatro equipos diferentes (dos con los Miami Heat, uno con los Cleveland Cavaliers y el último con los Lakers), buscaba un último desafío legendario, la última frontera. Y dado que tuvo al primero de sus retoños con tan solo 19 años (ahora tiene 39), optó por el nepotismo.
Una realidad que se consumó el pasado julio, cuando el jefe del clan James prolongó su relación con los californianos dos años a cambio de más de 100 millones de dólares y, a cambio, los Lakers seleccionaron en el Draft a su hijo en la posición 55, cifra reservada a jugadores a los que no se les intuye un sólido recorrido en la NBA. El aquelarre era una realidad, padre e hijo compartirían vestuario y jugarían en uno de los equipos más icónicos de la historia del baloncesto.
En uno de los primeros partidos de Bronny James con los Lakers en la liga de verano, competición de pura pretemporada en la que ni siquiera están presentes los mejores jugadores de cada franquicia, las cámaras captaron a Jaylen Brown, estrella de los Celtics, confesar lo siguiente: «No creo que Bronny tenga nivel para ser un profesional». Pidió disculpas el MVP de las últimas finales de la NBA, pero lo cierto es que el de Georgia abrió la veda de los ataques hacia el joven Bronny.
https://www.abc.es/deportes/baloncesto/epico-nepotismo-lebron-james-marca-inicio-nba-20241021042251-nt.html
🏆@Info288_deportes