Sobes.tech
Назад к вопросам
Junior — Middle
81

Какая роль у горутин в управлении асинхронностью и параллельностью в Go?

Ответ от нейросети

sobes.tech AI

Горутины в Go — это легковесные потоки, которые позволяют эффективно управлять асинхронностью и параллельностью. Они запускаются с помощью ключевого слова go и работают в рамках одного процесса, что значительно экономит ресурсы по сравнению с системными потоками.

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

Пример запуска горутины:

package main

import (
    "fmt"
    "time"
)

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

func main() {
    go sayHello() // запуск горутины
    time.Sleep(time.Second) // ждем, чтобы горутина успела выполниться
}

Таким образом, горутины — ключевой инструмент для конкурентного программирования в Go, позволяющий создавать масштабируемые и отзывчивые приложения.