Sobes.tech
Junior — Middle

Hogyan valósítsuk meg a kontextus időkorlátját a Go alkalmazásodban?

sobes.tech MI

Válasz az MI-től

Go nyelven a kontextus időkorlátjának megvalósításához a context csomagot használjuk. Egy időkorlátos kontextust a context.WithTimeout függvénnyel hozunk létre, amely egy új kontextust és egy megszakítási függvényt ad vissza.

Példa:

ctx, cancel := context.WithTimeout(context.Background(), 2*time.Second)
defer cancel()

select {
case <-time.After(3 * time.Second):
    fmt.Println("művelet befejezve")
case <-ctx.Done():
    fmt.Println("időkorlát vagy kontextus megszakítása:", ctx.Err())
}

Ebben a példában, ha a művelet több mint 2 másodpercig tart, a kontextus megszakad, és az időkorlát kezelhető. Ez hasznos a függvények, kérések futási idejének korlátozására.