Middle
51
questionbank

Когда одно физическое ядро выполняет два потока, будет ли это происходить синхронно или параллельно?

Получайте ответы на вопросы в реальном времени с Sobes Copilot
Ответ от нейросети sobes.tech

Это будет происходить синхронно с точки зрения одновременности выполнения в один и тот же микромомент времени. Один физический ресурс (ядро) не может выполнять две задачи абсолютно параллельно.

ОС Android использует вытесняющую многозадачность. Ядро переключается между потоками, выделяя каждому небольшие кванты времени. Это создает иллюзию параллельности (конкурентности).

kotlin

В примере выше мы видим, что вывод строк от обоих потоков чередуется, что и демонстрирует переключение контекста между ними.

Понятия:

  • Параллелизм: Одновременное выполнение нескольких задач в один и тот же момент времени на нескольких физических ЦП или ядрах.
  • Синхронность / Конкурентность: Выполнение нескольких задач за определенный промежуток времени, когда процессор быстро переключается между задачами, создавая видимость их одновременного выполнения.

Таким образом, на одном ядре происходит синхронное (конкурентное) выполнение нескольких потоков через переключение контекста.