Как многопоточность работает в одноядерной системе?

Вопрос:

Когда несколько потоков выполняются в одноядерной системе, эти потоки выполняются одновременно или последовательно с помощью быстрого контекстного переключателя (который дает ощущение потоков, работающих одновременно)? благодаря

Лучший ответ:

Многие современные процессоры адаптируют методы, которые позволяют им выполнять несколько потоков на одном ядре. Такие методы называются одновременным многопоточным (или SMT). Например, “Hyper-threading” – это реализация SMT в Intel.

SMT подразумевает, что ядро может извлекать и выполнять две или несколько инструкций из разных потоков одновременно, за один цикл. Если ОС также знает, как работать с SMT, она может планировать потоки таким образом, чтобы на самом деле позволять одновременно выполнять разные потоки на одном и том же ядре. В некоторых случаях он может дать почти такой же импульс, как выполнение потоков на двух (или более в некоторых процессорах) ядрах.

В противном случае это только переключение контекста.

Ответ №1

С одним ядром ЦП разные потоки буквально не запускаются одновременно, но ОС может запускать один поток и пропускать другой поток.

Оцените статью
TechArks.Ru
Добавить комментарий