Как лучше передавать Dispatcher в классы: через DI или напрямую? Контекст: архитектура приложения и инверсия зависимостей DI-передача делает зависимости явными и управляемыми упрощает подмену зависимостей и…
Возврат потока в пул при выполнении await Асинхронная модель C# использует state machine и Task На время await текущий поток освобождается до завершения задачи Метод формирует continuation, которое планируется для…
обмен информацией в условиях параллельного программирования потоки используют общую память, а процессы, как правило, изолированы друг от друга к общим ресурсам относятся разделяемая память, файлы и переменные для…
async/await — это синтаксический сахар над Promise в JavaScript Любая async-функция всегда возвращает Promise await приостанавливает выполнение кода, пока промис не завершится делает асинхронный код более понятным и…
in-memory key-value store, применяемое для кэширования и работы баз данных горизонтально масштабируется с помощью шардинга (Cluster) Redis Cluster распределяет данные между узлами по слотам — всего предусмотрено 16384…
массив имеет фиксированный размер, поэтому его очищают перезаписью элементов нулевыми значениями слайс — динамическая структура, которая ссылается на массив сбросить длину: slice = slice[:0] — элементы логически…
последовательная очередь обрабатывается в одном потоке, поэтому порядок операций имеет значение deadlock появляется, когда ресурсы взаимно блокируют друг друга для профилактики сокращают пересечения блокировок и…
deadlock: взаимная блокировка ресурсов livelock: бесконечное изменение состояний без продвижения исключать циклические зависимости между ресурсами задавать единый порядок захвата блокировок (lock ordering)…
Как работает asyncio.gather? функция стандартной библиотеки asyncio для Python получает несколько корутин либо awaitable-объектов выполняет их конкурентно, не блокируя основной поток формирует одну корутину, ожидающую…
Как работает context.Done() и почему закрытие канала получают все горутины? context.Done() — канал для наблюдения за отменой контекста возвращает канал, закрываемый при отмене или завершении заданного времени одно…
механизм конкурентного ожидания в системах с несколькими каналами ожидает событие сразу на одном или нескольких каналах приостанавливает выполнение, пока хотя бы один канал не будет готов поддерживает чтение, запись и…