Sobes.tech
Middle

Дар бораи goroutines дар Go гап занед

sobes.tech AI

Ҷавоб аз AI

Горутиналар — бу Go тилида енгил ишга тушириш тармоқлари бўлиб, улар функцияларни минимал ёдлаш ва вақт сарфи билан параллел ишга туширишга имкон беради. Улар Go ишлаш вақти томонидан бошқарилади, операцион тизим томонидан эмас, бу уларни анъанавий тармоқлардан самаралироқ қилади.

Горутинани ишга тушириш учун go калит сўзидан фойдаланилади:

func sayHello() {
    fmt.Println("Горутиндан салом")
}

func main() {
    go sayHello() // горутинани ишга туширади
    time.Sleep(time.Second) // горутинанинг бажарилиши учун вақт берамиз
}

Горутиналар маълумотлар алмашиш ва синхронлаш учун каналлардан фойдаланади, бу эса очиқ блокировкаларсиз рақобатчи код ёзишни соддалаштиради.

Асосий афзалликлари:

  • Жуда паст юкламалар харажатлари.
  • Каналлар орқали синхронлашнинг осонлиги.
  • Кўппроцессорли тизимлардан самарали фойдаланиш имкони.