Что такое ядра в процессоре

«Что такое ядра в процессоре» — вопрос из категории Многопоточность, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Ядра — это независимые вычислительные блоки внутри процессора, способные выполнять задачи параллельно. Каждое ядро имеет собственные ALU (арифметико-логическое устройство), кэш и регистры.

Пример влияния на Android:
Многопоточные приложения (например, загрузка данных + рендеринг UI) эффективнее используют многоядерные CPU.

// Использование нескольких ядер через Coroutines
val job1 = launch(Dispatchers.Default) { heavyCalculation() }
val job2 = launch(Dispatchers.IO) { fetchData() }

Нюансы:

  • Не все операции масштабируются на N ядер (Amdahl’s Law).
  • Нагрев/троттлинг на мобильных CPU.
  • Big.Little архитектура (разные ядра для разных задач).