Сообщество / Новая тема

Обсуждение статьиПервый комментарий откроет обсуждение — дальше все вопросы по этой статье будут собираться здесь

Об статье:
Почему многопоточность иногда делает программу медленнее, чем один поток

Первое, что делает разработчик, когда сервис не успевает обрабатывать запросы — добавляет потоков или воркеров. Логика простая: было одно ядро, стало восемь, значит должно стать в восемь раз быстрее. На практике вы получаете код, который на четырёх потоках работает медленнее, чем на одном, а CPU при этом занят на 100%, но полезной работы делает меньше. Разберём, откуда берётся этот эффект и почему он не баг, а следствие того, как на самом деле устроены процессор и планировщик ОС.

Подробнее →