Sobes.tech
Senior

Van határidő?

sobes.tech MI

Válasz az MI-től

Go-ban a határidőt általában az művelet vagy a kontextus végrehajtási idejének korlátozásaként értjük.

A standard könyvtárban a context csomagot használják az idő kezelésére és a műveletek megszakítására. A kontextusnak lehet határideje — az időpont, amikor a művelet lejártának számít, és meg kell szakítani.

Határidővel rendelkező kontextus létrehozásának példája:

ctx, cancel := context.WithDeadline(context.Background(), time.Now().Add(2*time.Second))
defer cancel()

select {
case <-time.After(3 * time.Second):
    fmt.Println("Művelet befejeződött")
case <-ctx.Done():
    fmt.Println("Határidő lejárt vagy a kontextus megszakadt")
}

Így a határidő egy módja annak, hogy időkorlátot szabjunk a műveleteknek, elkerülve a végtelen várakozást.