Назад к вопросам
Senior
3
Что такое горутина (goroutine) и как она работает?
Компании, где спрашивали
sber tech
Ответ от нейросети
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) // ждем, чтобы горутина успела выполниться
}
Горутины эффективны для реализации конкурентных задач, таких как обработка запросов, параллельные вычисления и т.д.