TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #269 · 7 јул.

­Возможно, стоит пояснить разницу между синхронизацией из thread/process-safe и синхронизацией с помощью Lock🤔 Наша задача — заставить разные процессы и потоки обращаться к базе данных (или любым другим ресурсам) последовательно. Чтобы не случилось так называемого race condition, то есть состояние гонки. Это когда разные потоки или процессы пытаются одновременно что-то сделать с одним и тем же ресурсом. В этом случае нам нужна какая-то логика ограничения. Пока один процесс не завершил своё действие, другие не могут получить доступ к ресурсу. Так вот, thread-safe и process-safe означает что отдельно взятые операции записи в БД гарантированно будут последовательны. Запросы из разных процессов или потоков выстроятся в очередь и не будут мешать друг другу. Лучше всего когда этот блок реализован на уровне БД в виде атомарных операций или ещё как-то. Но зачем нам тогда еще дополнительный Lock? Этот способ синхронизации используется когда процесс никак не укладывается в одно действие и должен сделать множество операций прежде чем дать доступ следующему. В этом случае процесс ставит некий глобальный Lock на ресурс и никто другой, даже получив законное право на доступ, не может ничего сделать. Все ждут пока этот Lock не будет снят. Это решается на уровне приложения и правильность реализации полностью в вашей ответственности. Например, если забыли разблокировать или сделали перекрёстный Lock (Deadlock как на картинке), то всё зависнет в бесконечном ожидании. #basic

Hashtags

Резултати

Пронајдени 1 слични објави

Пребарај: #atcoder

当前筛选 #atcoder清除筛选
Dasturlash hayoti️️ ️

@dasturlash_hayoti · Post #3981 · 30.09.2025 г., 08:41

Doimiy o‘z ustingizda ishlash uchun eng mashhur saytlar Men doimiy ravishda mantiqiy fikrlash va algoritmik masalalar ustida ishlashga harakat qilaman. Quyida men foydalanadigan va sizga ham tavsiya qiladigan platformalar ro‘yxatini keltiraman. 1.HackerRank — algoritm, data structure va dasturlash tillari bo‘yicha bosqichma-bosqich mashqlar. 2.RoboContest.uz — o‘zbek tilidagi masalalar platformasi, yangi boshlovchilar uchun juda qulay. 3.LeetCode — intervyu savollari va amaliy algoritmik masalalar uchun eng mashhur manba. 4. Project Euler — matematik mantiqqa asoslangan murakkab va qiziqarli masalalar. 5.Codeforces — tezkor musobaqalar (contests) va turli darajadagi masalalar. Competitve programming’ni haqiqiy sharoitida mashq qilishni xohlasangiz — ideal. 6.AtCoder — Yapon platformasi, tartibli va yaxshi tuzilgan musobaqalar. Ayniqsa algoritmik masalalarni tanaffussiz yechish uchun foydali. 7.SPOJ — klassik masalalar arxivi, resurslarni tejab ishlashni ham o‘rgatadi. 8. CodeSignal — intervyu uslubidagi masalalar va baholash tizimi. Ishga kirish yoki intervyuga tayyorlanayotganlar uchun qulay. 9. Exercism — tilga yo‘naltirilgan mashqlar (Python, JS, Ruby…). Kod yozish amaliyoti va mentor fikrini olish imkoni bor — yangi til yoki stil o‘rganish uchun ayni muddao. 10.TopCoder — an’anaviy competitive programming platformasi, marafonlar va Single Round Match’lar (SRM). Qiyin masalalarga duch kelishni istaganlarga. 11.Brilliant — mantiq, matematik fikrlash va algoritmlarni vizual hamda interaktiv tarzda o‘rgatadi. Tez tushunish va konseptual bilimlarni mustahkamlash uchun ajoyib. 12. CodinGame — o‘yin shaklida kod yozib yechiladigan masalalar. Algoritmni vizualizatsiya qilmoqchi bo‘lsangiz yoki dam olish bilan o‘rganmoqchi bo‘lsangiz — super. 13. AoPS (Art of Problem Solving) — (AoPS ayniqsa) matematika mantiqi va olimpiyadalar uchun. Raqamli mantiq va kombinatorika qobiliyatini oshirishga yordam beradi. 14.InterviewBit — intervyu savollari va o‘quv yo‘li. LeetCode bilan parallel intervyu tayyorgarligi uchun foydali. 15. Kaggle — agar ma’lumotlar tahlili va mashinani o‘rganish sohasiga qiziqsangiz, real dataset’lar va mashqlar orqali fikrlashni chuqurlashtiradi. 16.Coderbyte — intervyu uslubidagi mashqlar to‘plami. Mening kichik maslahatlarim — Kuniga kamida 1–2 ta masala yechishga odatlaning. — Har xil platformalarni aralashtirib ishlang (masalan, bir kuni LeetCode, keyingi kuni Codeforces). — O‘z yechimlaringizni GitHub’da saqlang — bu sizga tajriba to‘plash va portfolioga qo‘shish imkonini beradi. Agar bu ro‘yxat sizga foydali bo‘lsa, do‘stlaringiz bilan ham ulashing. #programming#algorithms#coding#leetcode#hackerrank#robocontest#projecteuler#codeforces#atcoder#spoj#dasturlash @jonibek_turapov