Sobes.tech
Junior — Middle

Можете ли да обясните механизма на polling в езика Go?

sobes.tech AI

Отговор от AI

Polling в Go е механизъм за периодична проверка на състоянието на ресурс или събитие. Вместо да чака уведомление, програмата редовно (poll) проверява източника на данни с определен интервал.

В Go това често се реализира с помощта на цикъл и функции като time.Tick или time.Sleep, за да се създадат забавяния между проверките.

Пример за прост polling:

package main

import (
    "fmt"
    "time"
)

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

    for {
        select {
        case <-ticker.C:
            fmt.Println("Проверка на състоянието...")
            // Тук може да добавите логика за проверка
        }
    }
}

Този подход е полезен, когато е необходимо редовно да се проверяват актуализации, например състоянието на файл, отговор на сървър или опашка за съобщения.