Sobes.tech
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.