Sobes.tech
Back to questions
Senior
6

Как работает Golang — параллельно, конкурентно или может работать и так, и так?

Companies where asked
.wrk

Answer from AI

sobes.tech AI

Golang поддерживает конкурентность, а не параллелизм напрямую. Конкурентность — это способность эффективно управлять несколькими задачами, переключаясь между ними, а параллелизм — выполнение нескольких задач одновременно.

В Go конкурентность реализуется через горутины — лёгкие потоки, которые планируются рантаймом Go. Они могут выполняться параллельно, если есть несколько ядер процессора, благодаря встроенному планировщику.

Таким образом, Go может работать и конкурентно, и параллельно, в зависимости от аппаратных ресурсов и настроек среды.

Пример создания горутины:

func sayHello() {
    fmt.Println("Hello from goroutine")
}

func main() {
    go sayHello() // запускает функцию конкурентно
    time.Sleep(time.Second) // ждём, чтобы горутина успела выполниться
}