Senior
Bir son tarih var mı?
sobes.tech yapay zeka
AI'dan gelen yanıt
Go'da, genellikle zaman aşımı, bir işlem veya bağlamın çalışma süresiyle ilgili bir sınırlama olarak anlaşılır.
Standart kütüphanede, çalışma süresini yönetmek ve işlemleri iptal etmek için context paketi kullanılır. Bağlamın bir zaman aşımı olabilir — bu, işlemin süresi dolduğunda ve iptal edilmesi gerektiğinde kabul edilir.
Zaman aşımı ile bağlam oluşturma örneği:
ctx, cancel := context.WithDeadline(context.Background(), time.Now().Add(2*time.Second))
defer cancel()
select {
case <-time.After(3 * time.Second):
fmt.Println("İşlem tamamlandı")
case <-ctx.Done():
fmt.Println("Zaman aşımı geçti veya bağlam iptal edildi")
}
Bu şekilde, zaman aşımı, işlemler için zaman sınırlaması koymanın bir yoludur ve sonsuz beklemeyi önler.