В большинстве систем симулируется параллелизм. ОС переключается с задачи на задачу, распределяя ресурсы.
В одноядерных системах это единственный способ запустить несколько потоков одновременно. И даже в многоядерных системах у вас будет что-то похожее на месте. В современных системах у вас просто выполняется больше задач, чем количество ядер, которые у вас есть. Так часто ОС будет перебирать потоки на основе некоторых факторов, распределяя их по доступным ядрам.