Синхронизация доступа к переменной Мьютексы (Mutexes) — не позволяют другим потокам обращаться к данным, пока блокировка не будет снята RW-локи (Read-Write Locks) — допускают одновременное чтение несколькими потоками,…
Проектирование системы сохранений: переход от локальной модели к серверной и двунаправленная запись Архитектура: абстрактный слой сохранения, объединяющий локальное и серверное хранилища Локальное сохранение:…
Как устроен CountDownLatch? синхронизатор из Java concurrency создаётся с начальным счётчиком метод await() приостанавливает поток, пока счётчик не станет равен 0 метод countDown() уменьшает значение счётчика на 1…
Как устроены wait() и notify() и где их разрешено вызывать? средства синхронизации в Java, основанные на объектном мониторе wait() — освобождает монитор и переводит поток в режим ожидания notify() — будит один поток,…
Инструменты синхронизации Мьютексы (mutexes) — предоставляют доступ к ресурсу только одному потоку Семафоры — задают допустимое число потоков, работающих одновременно Мониторы — обеспечивают автоматическую блокировку…
Механизмы синхронизации помимо synchronized и Atomic Lock: позволяет детальнее управлять блокировками; ReentrantLock поддерживает tryLock и таймауты Semaphore: регулирует доступ к ресурсу, ограничивая одновременно…
Механизмы синхронизации в корутинах Корутинa в Go — это легковесный поток, однако при обращении к общим ресурсам ей необходима синхронизация Mutex обеспечивает взаимное исключение: он блокирует участок кода и не…
Какие примитивы синхронизации есть кроме lock Mutex — блокирует доступ также из других процессов, но по затратам тяжелее lock Semaphore / SemaphoreSlim — задаёт максимальное число потоков, которые могут выполняться…
Примитивы синхронизации в asyncio Lock: исключает одновременный доступ нескольких задач к одному ресурсу Event: служит для ожидания события и отправки сигнала о нем Condition: объединяет Lock с механизмом ожидания…
Примитивы синхронизации: synchronized, Atomic, семафоры synchronized блокирует метод или отдельный блок кода и обеспечивает взаимное исключение (mutex). Примитив удобен, однако при неправильном применении может…
Основные способы синхронизации переменной область: многопоточность, конкурентный доступ мьютексы (mutex): блокируют доступ и предотвращают гонки семафоры: задают предельное число одновременных обращений атомарные…
Назначение и практическое применение DispatchGroup и DispatchBarrier инструменты GCD (Grand Central Dispatch), предназначенные для управления асинхронными операциями в iOS/macOS DispatchGroup объединяет несколько…