Sobes.tech
Senior
52

Горутин чӣ гуна аст ва чӣ гуна кор мекунад?

Ширкатҳо дар куҷо пурсиданд
sber tech

Ҷавоб аз 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) // ждем, чтобы горутина успела выполниться
}

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