Возможно, стоит пояснить разницу между синхронизацией из thread/process-safe и синхронизацией с помощью Lock🤔
Наша задача — заставить разные процессы и потоки обращаться к базе данных (или любым другим ресурсам) последовательно. Чтобы не случилось так называемого race condition, то есть состояние гонки. Это когда разные потоки или процессы пытаются одновременно что-то сделать с одним и тем же ресурсом.
В этом случае нам нужна какая-то логика ограничения. Пока один процесс не завершил своё действие, другие не могут получить доступ к ресурсу.
Так вот, thread-safe и process-safe означает что отдельно взятые операции записи в БД гарантированно будут последовательны. Запросы из разных процессов или потоков выстроятся в очередь и не будут мешать друг другу. Лучше всего когда этот блок реализован на уровне БД в виде атомарных операций или ещё как-то.
Но зачем нам тогда еще дополнительный Lock?
Этот способ синхронизации используется когда процесс никак не укладывается в одно действие и должен сделать множество операций прежде чем дать доступ следующему. В этом случае процесс ставит некий глобальный Lock на ресурс и никто другой, даже получив законное право на доступ, не может ничего сделать. Все ждут пока этот Lock не будет снят.
Это решается на уровне приложения и правильность реализации полностью в вашей ответственности. Например, если забыли разблокировать или сделали перекрёстный Lock (Deadlock как на картинке), то всё зависнет в бесконечном ожидании.
#basic
"Come possiamo garantire che lo sviluppo dell'intelligenza artificiale #IA serva davvero al bene comune e non venga utilizzato solo per accumulare ricchezza e potere nelle mani di pochi? Questa è una domanda urgente, perché questa #tecnologia sta già avendo un impatto reale sulla vita di milioni di persone, ogni giorno e in ogni parte del mondo". A ribadirlo è Papa #LeoneXIV che questa mattina, nella Sala del Concistoro, in Vaticano, ha incontrato i Partecipanti alla Conferenza "Artificial Intelligence and Care of Our Common Home".
Il Pontefice ricordando la Dottrina Sociale della Chiesa, riflette ulteriormente affermando: "Affrontare questa sfida richiede di porsi una domanda ancora più fondamentale: cosa significa essere umani in questo momento storico? Gli esseri umani sono chiamati a essere collaboratori dell'opera della creazione, non semplici consumatori passivi di contenuti generati dalla tecnologia artificiale".
"La nostra dignità risiede nella capacità di riflettere, scegliere liberamente, amare incondizionatamente ed entrare in relazioni autentiche con gli altri. L'intelligenza artificiale ha certamente aperto nuovi orizzonti alla creatività, ma solleva anche serie preoccupazioni circa le sue possibili ripercussioni sull'apertura dell'umanità alla verità e alla bellezza, e sulla sua capacità di meraviglia e contemplazione. Riconoscere e salvaguardare ciò che caratterizza la persona umana e garantisce la sua crescita equilibrata è essenziale per stabilire un quadro adeguato per gestire le conseguenze dell'intelligenza artificiale", il monito del Santo Padre.
Infine, un pensiero rivolto alle nuove generazioni: "Per costruire insieme ai nostri #giovani un futuro che realizzi il bene comune e sfrutti le potenzialità dell'intelligenza artificiale, è necessario ripristinare e rafforzare la loro fiducia nella capacità umana di guidare lo sviluppo di queste tecnologie. Una fiducia che oggi è sempre più erosa dall'idea paralizzante che il suo sviluppo segua un percorso inevitabile. Ciò richiede un'azione coordinata e concertata che coinvolga #politica, istituzioni, imprese, #finanza, istruzione, comunicazione, cittadini e comunità religiose. Gli attori di questi ambiti sono chiamati a impegnarsi in un impegno comune, assumendosi questa responsabilità comune. Questo impegno viene prima di qualsiasi interesse di parte o profitto, sempre più concentrato nelle mani di pochi. Solo attraverso una partecipazione diffusa che dia a tutti la possibilità di essere ascoltati con rispetto, anche ai più umili, sarà possibile raggiungere questi ambiziosi obiettivi".