Junior — Middle
Какви са предимствата на използването на горутини в сравнение с нишки (threads)?
sobes.tech AI
Отговор от AI
Gorutinite в Go са леки нишки, които се управляват от средата за изпълнение на Go, а не от операционната система. Техните предимства спрямо класическите нишки:
- По-малко използване на памет: Gorutinite заемат няколко килобайта памет, докато нишките — мегабайти.
- Бързо създаване и превключване: Стартирането и превключването между gorutinite е много по-бързо.
- Простота при синхронизация: Go предоставя канали за безопасен обмен на данни между gorutinite, което улеснява конкурентното програмиране.
- Мащабируемост: Могат да се стартират хиляди и дори милиони gorutinite едновременно.
Пример за създаване на goroutine:
func sayHello() {
fmt.Println("Здравей от goroutine")
}
func main() {
go sayHello() // стартираме goroutine
time.Sleep(time.Second) // чакаме, за да се изпълни goroutine
}