Sobes.tech
Junior — Middle

Kas saaksite selgitada polling-mehhanismi Go keeles?

sobes.tech AI

Vastus AI-lt

Polling in Go on mehhanism, mis võimaldab perioodiliselt kontrollida ressursi või sündmuse olekut. Selle asemel, et oodata teavitust, küsib programm regulaarselt (poll) andmeallikat määratud intervalliga.

Go-s realiseeritakse seda sageli tsükli ja funktsioonide nagu time.Tick või time.Sleep abil, et luua viivitusi kontrollide vahel.

Lihtne polling näide:

package main

import (
    "fmt"
    "time"
)

func main() {
    ticker := time.NewTicker(2 * time.Second)
    defer ticker.Stop()

    for {
        select {
        case <-ticker.C:
            fmt.Println("Seisundi kontroll...")
            // Siia võib lisada kontrolli loogika
        }
    }
}

See lähenemine on kasulik, kui on vaja regulaarselt kontrollida uuendusi, näiteks faili seisundit, serveri vastust või sõnumijada.