Sobes.tech
Back to questions
Junior — Middle
85

Каким образом осуществляется инициализация и выполнение новой горутины в программе?

Answer from AI

sobes.tech AI

В Go новая горутина создаётся с помощью ключевого слова go, после которого вызывается функция или метод. При этом создаётся лёгкий поток выполнения, который работает параллельно с основной программой.

Инициализация и запуск горутины происходит так:

  1. Вызывается go перед функцией: go myFunction().
  2. Планировщик Go создаёт новую горутину и ставит её в очередь на выполнение.
  3. Горутина начинает выполняться асинхронно, независимо от основной программы.

Пример:

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

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

Важно помнить, что горутины очень лёгкие по сравнению с потоками ОС, и их планирование и переключение управляется рантаймом Go, что позволяет эффективно использовать ресурсы.