Sobes.tech
Назад к вопросам
Junior — Middle
79

Можете объяснить механизм polling в языке Go?

Ответ от нейросети

sobes.tech 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("Проверяем состояние...")
            // Здесь можно добавить логику проверки
        }
    }
}

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