Sobes.tech
Junior — Middle

Môžete vysvetliť mechanizmus polling v jazyku Go?

sobes.tech AI

Odpoveď od AI

Polling v Go je mechanizmus periodickej kontroly stavu zdroja alebo udalosti. Namiesto čakania na oznámenie program pravidelne (poll) dotazuje na zdroj dát s určeným intervalom.

V Go sa to často realizuje pomocou slučky a funkcií ako time.Tick alebo time.Sleep na vytvorenie oneskorení medzi kontrolami.

Prí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...")
            // Tu môžete pridať logiku kontroly
        }
    }
}

Tento prístup je užitočný, keď je potrebné pravidelne kontrolovať aktualizácie, napríklad stav súboru, odpoveď servera alebo frontu správ.