ThreadLocal — это Java-класс, предназначенный для хранения данных, связанных с конкретным потоком Каждый поток получает собственную локальную копию переменной Данные разных потоков изолированы и не используются…
Что представляет собой VACUUM в PostgreSQL Управление памятью и удаление "мёртвых" строк (dead tuples) Выполняет очистку и сжатие таблиц после команд UPDATE/DELETE Актуализирует статистику, используемую оптимизатором…
Что такое actor и как в этой модели обеспечивается изоляция? Модель акторов предназначена для параллельного и распределённого программирования Актор представляет собой изолированный объект, объединяющий состояние и…
Что такое backpressure и как реализовать его в системе очередей сообщений? обработка потоков и предотвращение перегрузки backpressure — команда отправителю снизить скорость не допускает переполнения очереди и потери…
Что представляет собой connection pool и для чего он используется? инструмент управления соединениями с БД кэш уже открытых подключений для их повторного использования уменьшает затраты на создание и закрытие…
connection pooling — это управление пулом уже открытых соединений с БД сокращает время, затрачиваемое на установку и закрытие соединений задаёт предел для числа одновременных подключений к Postgres увеличивает…
Конкурентный доступ: возникновение взаимной блокировки Ситуация возникает, когда две или более транзакции ожидают ресурсы друг друга При этом каждая транзакция удерживает ресурс, который требуется другой Если не…
Что такое goroutine leak в Go и как найти утечку горутин? Go concurrency goroutine leak — это горутины, которые не завершают работу причина: блокировка на канале, mutex или операции I/O нет механизма завершения через…
Что представляет собой memory escape analysis и как определить размещение объекта в heap Область: управление памятью и оптимизация работы сборщика мусора Memory escape analysis — это анализ, который показывает,…
Mutex: назначение, разновидности и применение Mutex — примитив синхронизации, защищающий данные от одновременного доступа Реализует взаимное исключение: владеть mutex одновременно способен только один поток Основные…
Что такое race condition и как её ловить в Go? race condition — ситуация, в которой несколько го-рутин одновременно изменяют общие данные, из-за чего поведение программы становится непредсказуемым причина — отсутствие…
низкоуровневый примитив синхронизации поток активно ожидает (непрерывно проверяет условие в цикле) не переходя в состояние сна и не выполняя переключение контекста применяется при минимальном времени ожидания снижает…