Timeouts
Go dilinde, timeout
işlemleri, özellikle ağ işlemleri sırasında önemlidir. time
paketi kullanılarak, belirli bir süre beklenmesi sağlanabilir. Eğer süre aşılırsa, timeout
hatası oluşur.
Bu örnekte, c1
ve c2
adlı iki channel
oluşturulur ve mesaj gönderme işlemleri için goroutine
'lar oluşturulur.
İlk olarak, select
anahtar kelimesi kullanılarak, c1
channel
'ından bir mesaj beklenir. Ancak, time.After
kullanılarak, c1
channel
'ından bir mesaj alınmadan önce, bir saniye beklenir. Eğer bir saniyeden daha uzun bir süre geçerse, timeout
hatası oluşur ve timeout 1
mesajı ekrana yazdırılır.
Daha sonra, select
anahtar kelimesi kullanılarak, c2
channel
'ından bir mesaj beklenir. Ancak, time.After
kullanılarak, c2
channel
'ından bir mesaj alınmadan önce, üç saniye beklenir.
Çıktı:
Bu örnekte, time.After
kullanarak timeout
işlemleri gerçekleştirildi. İlk olarak, c1
channel
'ına bir saniyeden önce bir mesaj gönderilmediği için timeout
hatası oluşur. Daha sonra, c2
channel
'ına iki saniyeden önce bir mesaj gönderildiği için mesaj alınır ve ekrana yazdırılır.
Last updated