выполняются одновременно. но нашел один ресурс, и там написано, что на самом деле они выполняются не одновременно, а происходит быстрое переключение между ними, что кажется, будто они выполняются параллельно. это так?
Ну ядер у тебя ограниченно в компе
Потоки это некая абстракция, набор инструкции в одном потоке выполнится последовательно, а вот когда он выполнится и на каком ядре - это уже решает ос
Есть два понятия - concurrency и parallelism, и они сосуществуют. Как выше написали, параллелизм ограничен ядрами, шедулер их выделяет потоком, чтобы каждому достался квант времени согласно квотам-приоритетам
стоит еще отметить, что на одном ядре может быть несколько активных потоков (hyper-threading)
Есть ещё спекулятивное исполнение, когда инструкции выполняются херпоймикак
Обсуждают сегодня