Как блокирующие операции влияют на Event Loop Event Loop — основа обработки асинхронных событий в JS Блокирующие операции приостанавливают цикл и замедляют выполнение задач Такие блокировки вызывают задержки UI и…
Браузер загружает и визуализирует веб-страницы По URL он отправляет серверу HTTP/HTTPS-запрос В ответ получает HTML, CSS, JS и прочие ресурсы Разбирает HTML и формирует DOM-дерево Обрабатывает CSS и создаёт…
Как быстро отправить 10 000 запросов: подходы и оптимизация параллельная отправка запросов с помощью многопоточности или асинхронности применение пулов соединений (connection pooling) для повторного использования TCP…
Как устроен Dictionary<TKey, TValue>: бакеты и коллизии Dictionary представляет собой хеш-таблицу, использующую массив бакетов Для ключа вычисляется индекс бакета: hash(key) % capacity В одном бакете оказываются…
Как в Go сократить число аллокаций при работе с рунами и слайсами? При работе со слайсами следует контролировать capacity, чтобы не допускать перераспределения памяти. Заранее задавайте capacity с помощью функции…
Memory barriers и атомарные операции в Go Memory barriers — это низкоуровневые инструкции процессора и компилятора, управляющие порядком операций с памятью. Они не позволяют CPU или компилятору переупорядочить чтения…
Стандартные способы управления потоками (ExecutorService, Future) Java concurrency API предназначен для управления потоками ExecutorService — интерфейс пула потоков, отвечающий за управление его жизненным циклом С…
Как работать с тяжёлыми запросами в Node.js и SQL? Node.js (асинхронность и потокобезопасность): выполнять операции асинхронно с помощью async/await и промисов, чтобы не блокировать event loop передавать ресурсоёмкие…
Многопоточность, асинхронность и мультипроцессинг в Python Многопоточность: одновременная работа нескольких потоков в рамках одного процесса. Потоки используют общую память и требуют сравнительно небольших ресурсов.…
** в React 17 автоматический бэтчинг действует внутри React-событий, а в остальных случаях используют unstable_batchedUpdates либо логически объединяют состояние через useReducer, чтобы сократить число ререндеров.
JavaScript в браузере выполняется в одном основном потоке, связанном с UI для параллельного выполнения используются Web Workers Web Workers запускаются в отдельных потоках и работают в изолированной среде обмен…