Senior
Какво е горутина (goroutine) и как работи?
sobes.tech AI
Отговор от AI
Горутината е лек поток за изпълнение в езика Go, който се управлява от Go runtime, а не от операционната система. Тя позволява изпълнение на функции паралелно с минимални разходи за памет и време за превключване на контекста.
Когато извикате функция с ключовата дума go, се създава нова горутина, която се изпълнява едновременно с други. Go runtime автоматично разпределя горутините между наличните ОС нишки.
Пример:
package main
import (
"fmt"
"time"
)
func sayHello() {
fmt.Println("Здравей от горутината")
}
func main() {
go sayHello() // стартира горутината
time.Sleep(time.Second) // чака, за да се изпълни горутината
}
Горутините са ефективни за реализиране на конкурентни задачи като обработка на заявки, паралелни изчисления и др.