Sobes.tech
Junior — Middle

Афзалати истифодаи гуруротинҳо дар муқоиса бо нӯгҳо (threads) чист?

sobes.tech AI

Ҷавоб аз AI

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

  • Кичикроқ хотира сарфланиши: Горутинлар бир неча килобайт хотира олишади, йўллар — мегабайтлар.
  • Тез яратиш ва ўтказиш: Горутинларни ишга тушириш ва ўтказиш жуда тез.
  • Мослаштиришнинг соддалиги: Go хавфсиз маълумот алмашиш учун каналлар беради, бу ҳамкорликда дастурлашни осонлаштиради.
  • Масштабланиш: Минглаб ёки миллионлаб горутинларни бир вақтнинг ўзида ишга тушириш мумкин.

Горутин яратиш мисоли:

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

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