Что такое горутина в Go?

Горутина — это легковесный поток выполнения в языке Go.

Короткий ответ

Что ответить на собеседовании

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

Подробный разбор

Ответ с пояснениями

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

Пример создания горутины:

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

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

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

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку