Что делать, если два воркера одновременно обращаются к одним данным?
Защиту выбирают по типу операции и месту хранения данных. Mutex не согласует разные процессы, а одна очередь не исключает повторы или параллельную обработку.
Читать ответПодготовка к интервью
Разбирайте реальные вопросы, сверяйтесь с подробными ответами и готовьтесь по технологиям и компаниям.
Проверьте, насколько резюме подходит выбранной позиции, и получите рекомендации по улучшению.
Каталог
Защиту выбирают по типу операции и месту хранения данных. Mutex не согласует разные процессы, а одна очередь не исключает повторы или параллельную обработку.
Читать ответОба варианта блокировок доступны в Spring ORM через JPA Оптимистичный подход использует контроль версий: на сущность добавляется аннотация @Version Во время обновления версия сравнивается; при расхождении возникает…
Читать ответdeadlock: взаимная блокировка ресурсов livelock: бесконечное изменение состояний без продвижения исключать циклические зависимости между ресурсами задавать единый порядок захвата блокировок (lock ordering)…
Читать ответПотокобезопасная структура блокировок по ID цель: обеспечить конкурентный контроль доступа к ресурсам, связанным с уникальным ID хранить блокировки по ID в ConcurrentHashMap / concurrent dictionary для каждого ID…
Читать ответПочему блокировки только записи недостаточно? (check-then-act под замком) Контекст: конкуррентность и синхронизация потоков Если под замком находится только запись, сама проверка остаётся уязвимой к изменениям из…
Читать ответАсинхронность и блокировка: конструкция await приостанавливает выполнение метода и позволяет другим задачам продолжить работу, тогда как lock синхронно блокирует общий ресурс. Риск deadlock: после await поток…
Читать ответПессимистичные и оптимистичные блокировки Различие в стратегии обработки конфликтов: Пессимистичные: ресурс блокируется заранее, поскольку конфликт считается вероятным Оптимистичные: операции выполняются без…
Читать ответБлокировки сохраняются до завершения транзакции Транзакция может находиться в состоянии pending или in progress Остальные транзакции ждут освобождения ресурсов При откате транзакции блокировки снимаются После коммита…
Читать ответЧто такое SELECT FOR UPDATE и как он предотвращает проблемы параллельного доступа? SQL-конструкция для блокировки строк во время выборки выбранные строки становятся недоступны для изменения другими транзакциями…
Читать ответнизкоуровневый примитив синхронизации поток активно ожидает (непрерывно проверяет условие в цикле) не переходя в состояние сна и не выполняя переключение контекста применяется при минимальном времени ожидания снижает…
Читать ответразделение замков оптимизирует конкурентный доступ, увеличивает параллелизм и уменьшает contention.
Читать ответNSLock в Foundation для iOS/macOS представляет собой обычный (нерекурсивный) лок Рекурсивный лок позволяет одному потоку захватывать один и тот же лок несколько раз без возникновения дедлока При повторной попытке…
Читать ответ