Sobes.tech
Junior — Middle

Чӣ тавр механизмии goroutine дар барномасозӣ истифода мешавад ва чӣ нақш дорад?

sobes.tech AI

Ҷавоб аз AI

Горутинҳо дар Go — ин шохаҳои сабук ҳастанд, ки имкон медиҳанд функсияҳоро дар параллел иҷро кардан бидуни харҷи зиёди манбаъҳо. Онҳо аз ҷониби runtime-и Go идора мешаванд ва бо калидвожа go сохта мешаванд.

Роли асосии горутинҳо — содда кардани барномасозии ҳамзамон ва параллел, истифодаи самараноки системҳои бисёрпроцессорӣ ва пешгирии бастани ҷараёни асосӣ.

Масалан истифодаи горутин:

package main

import (
    "fmt"
    "time"
)

func sayHello() {
    fmt.Println("Салом аз горутин")
}

func main() {
    go sayHello() // оғоз кардани функсия дар горутин
    time.Sleep(time.Second) // интизорӣ барои иҷрои горутин
    fmt.Println("Функсияи асосӣ тамом шуд")
}

Дар ин мисол, sayHello дар параллел бо функсияи асосии main иҷро мешавад.