Sobes.tech
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) // чака, за да се изпълни горутината
}

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