Sobes.tech
Back to questions
Senior
2

Что такое горутина (goroutine) и как она работает?

Companies where asked
sber tech

Answer from AI

sobes.tech AI

Горутина — это легковесный поток выполнения в языке Go, который управляется рантаймом Go, а не операционной системой. Она позволяет запускать функции параллельно с минимальными затратами по памяти и времени на переключение контекста.

Когда вы вызываете функцию с ключевым словом go, создаётся новая горутина, которая выполняется одновременно с другими. Рантайм Go автоматически распределяет горутины по доступным потокам ОС.

Пример:

package main
import (
    "fmt"
    "time"
)

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

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

Горутины эффективны для реализации конкурентных задач, таких как обработка запросов, параллельные вычисления и т.д.