Sobes.tech
Junior — Middle

Czy możesz wyjaśnić mechanizm polling w języku Go?

sobes.tech AI

Odpowiedź od AI

Polling w Go to mechanizm okresowego sprawdzania stanu zasobu lub zdarzenia. Zamiast czekać na powiadomienie, program regularnie (poll) odpyta źródło danych z określonym interwałem.

W Go często realizuje się to za pomocą pętli i funkcji takich jak time.Tick lub time.Sleep, które tworzą opóźnienia między sprawdzeniami.

Przykład prostego polling:

package main

import (
    "fmt"
    "time"
)

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

    for {
        select {
        case <-ticker.C:
            fmt.Println("Sprawdzanie stanu...")
            // Tutaj można dodać logikę sprawdzania
        }
    }
}

Taki sposób jest przydatny, gdy konieczne jest regularne sprawdzanie aktualizacji, np. stanu pliku, odpowiedzi serwera lub kolejki wiadomości.