Что такое псевдопараллельность

«Что такое псевдопараллельность» — вопрос из категории Linux, который задают на 23% собеседований Golang Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Псевдопараллельность — это модель выполнения, при которой несколько задач выполняются последовательно, но создаётся иллюзия параллельной работы за счёт быстрого переключения между ними.

В Go это реализуется через горутины и планировщик (scheduler), который распределяет их выполнение на ограниченном числе потоков ОС.

Пример:

func main() {
    go task("A") // запуск горутины
    go task("B")
    time.Sleep(time.Second) // ждём завершения (для примера)
}

func task(name string) {
    for i := 0; i < 3; i++ {
        fmt.Println(name, ":", i)
        time.Sleep(100 * time.Millisecond)
    }
}

Вывод может быть перемешан (A:0, B:0, A:1...), хотя физически горутины выполняются на одном ядре. Это и есть псевдопараллельность.