Junior — Middle
Můžete vysvětlit mechanismus polling v jazyce Go?
sobes.tech AI
Odpověď od AI
Polling v Go je mechanismus periodického kontroly stavu zdroje nebo události. Místo čekání na oznámení program pravidelně (poll) dotazuje na zdroj dat s určeným intervalem.
V Go se to často realizuje pomocí smyčky a funkcí jako time.Tick nebo time.Sleep k vytvoření zpoždění mezi kontrolami.
Příklad jednoduchého pollingu:
package main
import (
"fmt"
"time"
)
func main() {
ticker := time.NewTicker(2 * time.Second)
defer ticker.Stop()
for {
select {
case <-ticker.C:
fmt.Println("Kontrola stavu...")
// Zde lze přidat logiku kontroly
}
}
}
Tento přístup je užitečný, když je potřeba pravidelně kontrolovat aktualizace, například stav souboru, odpověď serveru nebo frontu zpráv.