Senior
Există o dată limită?
sobes.tech AI
Răspuns de la AI
În Go, termenul de deadlinе este de obicei înțeles ca o restricție de timp pentru executarea unei operații sau a unui context.
În biblioteca standard, pachetul context este folosit pentru a gestiona timpul de execuție și pentru a anula operațiile. Contextul poate avea un deadline — un moment după care operația este considerată expirat și trebuie anulată.
Exemplu de creare a unui context cu un deadline:
ctx, cancel := context.WithDeadline(context.Background(), time.Now().Add(2*time.Second))
defer cancel()
select {
case <-time.After(3 * time.Second):
fmt.Println("Operație finalizată")
case <-ctx.Done():
fmt.Println("Deadline a expirat sau contextul a fost anulat")
}
Astfel, deadline-ul este o modalitate de a seta o restricție de timp pentru operații, pentru a evita așteptările infinite.