Back to questions
Middle
2
Tell me about goroutines in Go
Companies where asked
SecurityTestXSS
Answer from AI
sobes.tech AI
Горутины — это легковесные потоки выполнения в языке Go, которые позволяют запускать функции параллельно с минимальными затратами по памяти и времени. Они управляются рантаймом Go, а не операционной системой, что делает их более эффективными по сравнению с классическими потоками.
Запуск горутины осуществляется с помощью ключевого слова go перед вызовом функции:
func sayHello() {
fmt.Println("Hello from goroutine")
}
func main() {
go sayHello() // запускает горутину
time.Sleep(time.Second) // даём горутине время выполниться
}
Горутины используют каналы для синхронизации и обмена данными, что упрощает написание конкурентного кода без явных блокировок.
Основные преимущества:
- Очень низкие накладные расходы на создание и переключение контекста.
- Простота синхронизации через каналы.
- Позволяют эффективно использовать многопроцессорные системы.