Sobes.tech
Junior — Middle

Чӣ гуна гурутиҳо дар забони Go татбиқ ва идора мешаванд?

sobes.tech AI

Ҷавоб аз AI

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

Горутинларни амалга ошириш ва бошқаришнинг асосий жиҳатлари:

  • Яратиш: Горутин go калит сўзи ёрдамида функцияни чақиришдан олдин бошланади.
  • Жадваллаштирувчи: Go иш вақти ўзининг жадваллаштирувчисига эга бўлиб, у горутинларни тизим тўқималари орасида тақсимлайди (M:N режими).
  • Стек: Ҳар бир горутин динамик стекка эга бўлиб, эҳтиёжга қараб ўсиши ёки қисқариши мумкин, бир нечта килобайтдан бошланади.
  • Алоқа: Горутинлар орасида синхронлаштириш ва маълумот алмашиш учун каналлар қўлланилади.

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

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

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

Шу тариқа, горутинлар минимал харажатлар билан кодни параллел бажаришнинг самарали усулидир.