Возможно, стоит пояснить разницу между синхронизацией из thread/process-safe и синхронизацией с помощью Lock🤔
Наша задача — заставить разные процессы и потоки обращаться к базе данных (или любым другим ресурсам) последовательно. Чтобы не случилось так называемого race condition, то есть состояние гонки. Это когда разные потоки или процессы пытаются одновременно что-то сделать с одним и тем же ресурсом.
В этом случае нам нужна какая-то логика ограничения. Пока один процесс не завершил своё действие, другие не могут получить доступ к ресурсу.
Так вот, thread-safe и process-safe означает что отдельно взятые операции записи в БД гарантированно будут последовательны. Запросы из разных процессов или потоков выстроятся в очередь и не будут мешать друг другу. Лучше всего когда этот блок реализован на уровне БД в виде атомарных операций или ещё как-то.
Но зачем нам тогда еще дополнительный Lock?
Этот способ синхронизации используется когда процесс никак не укладывается в одно действие и должен сделать множество операций прежде чем дать доступ следующему. В этом случае процесс ставит некий глобальный Lock на ресурс и никто другой, даже получив законное право на доступ, не может ничего сделать. Все ждут пока этот Lock не будет снят.
Это решается на уровне приложения и правильность реализации полностью в вашей ответственности. Например, если забыли разблокировать или сделали перекрёстный Lock (Deadlock как на картинке), то всё зависнет в бесконечном ожидании.
#basic
🔺Dasturchilar uchun eng yaxshi kod tahrirlash dasturi:
1. VSCode - https://www.code.visualstudio.com
2. Sublime Text - https://www.sublimetext.com/
3. Atom - https://atom.io/
3. WebStorm - https://www.jetbrains.com/webstorm/
Oramizda dasturchilar bormi?
🌐Birinchi raqamli Windows Blog |#dasturchilar / #sayt
⚡️Dasturchilar uchun eng yaxshi kod tahrirlash dasturi:
1. VSCode - https://www.code.visualstudio.com
2. Sublime Text - https://www.sublimetext.com/
3. Atom - https://atom.io/
3. WebStorm - https://www.jetbrains.com/webstorm/
P.s: Oramizda dasturchilar bormi?
👉🏼Birinchi raqamli Dasturlash Blog | #dasturchilar / #sayt
Dasturchi tanishlarim dizaynni o'rganishni boshlashibdi ekan, bir tomondan AI, bir tomondan dasturchilar o'ylantiradi endi)
Biz ham AI zamonida dasturlashni o'rganishni boshlashimiz lozim. Bora bora bozorda bir necha vositalar bilan raqobat qilish, bir qanot bilan uchayotgan qushdek bo'lib qoladi. Ya'niki yaralangan qush hamon uchmoqda. Bunday qushlarni kesak bilan urib tushurish hech gap emas! :))
@suxrobblog
» #AI#dizayner#dasturchilar🪓
147 Colors — bu CSS-da mavjud bo'lgan ranglarni nomi bo'yicha ko'rish va tanlash uchun vosita.
Xususiyatlari:
💧 Ranglar katalogi - nomlari bilan 17 ta asosiy va 130 ta qoʻshimcha rangni oʻz ichiga oladi.
❄️ Filtrlash – kerakli rang yoki ranglar guruhi boʻyicha oson qidirish.
🌀 Rang g'ildiragi — qulaylik uchun ranglarning interaktiv tanlovi.
🎮 CSS kodini yaratish — dasturchilar uchun ranglarni loyihalarga nusxalash imkoniyati mavjud.
@suxrobblog — #foydali#ranglar#dasturchilar
#vscode#prettier#dasturchilar#vscodetutorial
Tartibsiz kod – bu tartibsiz fikr.
Shuning uchun har doim Prettier bilan kodingizni tozalang
VS Code’da buni qanday qilish videoda ko'rsatilgan.
💻@dasturlash_hayoti— Dasturchilar hayoti, motivatsiya va IT olamidagi eng foydali maslahatlar shu yerda!
🎨Dizaynerlar va Dasturchilar uchun ajoyib manba!
Agar zamonaviy UI komponentlari kerak bo‘lsa yoki ilhom izlayotgan bo‘lsangiz,Uiverse.io sizga yordam beradi!
✅ Interaktiv tugmalar, shakllar, kartalar va animatsiyalar
✅Bepul va ochiq manba
✅Kodlarni nusxalab olib, loyihangizda ishlatish imkoniyati
Frontend dasturchilar uchun katta imkoniyat! 💻 Saytni sinab ko‘ring va o‘z loyihalaringizni yanada chiroyli qiling! 🔥
📌 Link:https://uiverse.io
#Dizayn#UI#Frontend#Dasturchilar#Ilhom
💻@dasturlash_hayoti — bir xatoni tuzatib, ikkinchisiga tayyorlanish! 😅