Junior — Middle
Можете ли да обясните механизма на polling в езика Go?
sobes.tech AI
Отговор от AI
Polling в Go е механизъм за периодична проверка на състоянието на ресурс или събитие. Вместо да чака уведомление, програмата редовно (poll) проверява източника на данни с определен интервал.
В Go това често се реализира с помощта на цикъл и функции като time.Tick или time.Sleep, за да се създадат забавяния между проверките.
Пример за прост polling:
package main
import (
"fmt"
"time"
)
func main() {
ticker := time.NewTicker(2 * time.Second)
defer ticker.Stop()
for {
select {
case <-ticker.C:
fmt.Println("Проверка на състоянието...")
// Тук може да добавите логика за проверка
}
}
}
Този подход е полезен, когато е необходимо редовно да се проверяват актуализации, например състоянието на файл, отговор на сървър или опашка за съобщения.