На устройстве с одним ядром многопоточность эмулируется операционной системой через механизм квантования времени и переключения контекста.
iOS использует фреймворки, такие как GCD (Grand Central Dispatch) и Operation Queues, которые абстрагируют эти низкоуровневые механизмы, упрощая управление многопоточностью для разработчика. GCD использует пулы потоков и автоматически управляет их жизненным циклом и планированием на доступных процессорных ядрах (даже на одном).
Например, с использованием GCD:
swift
Даже на одноядерном устройстве, GCD будет ставить эту задачу в очередь и выделять ей кванты времени для выполнения, переключаясь между ней и основным потоком (и другими потоками, если они есть) для создания иллюзии параллельности.