Sobes.tech
Back to questions
Middle
1

Что такое горутина (goroutine) в контексте Go?

Companies where asked
VKVK

Answer from AI

sobes.tech AI

Горутина — это легковесный поток выполнения в языке Go. Она запускается с помощью ключевого слова go и работает параллельно с другими горутинами в одном процессе. В отличие от системных потоков, горутины имеют небольшой стек (обычно несколько килобайт), который динамически расширяется, что позволяет запускать тысячи и даже миллионы горутин одновременно с минимальными затратами ресурсов.

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

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

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

Горутины взаимодействуют через каналы, что упрощает синхронизацию и обмен данными между ними.