Explicación detallada del paquete de tiempo en Golang (3): time.Ticker

En el proceso de desarrollo diario, con frecuencia encontrará escenarios que operan a tiempo. El uso del paquete de tiempo en Golang puede implementar fácilmente operaciones relacionadas con el tiempo. Los próximos artículos explicarán el paquete de tiempo en detalle Este artículo explica la estructura time.Ticker en el paquete de tiempo.

tiempo.Ticker

time.Ticker enviará periódicamente un tipo de datos time.Time a un canal de acuerdo con un intervalo de tiempo específico, y el receptor del canal puede leer estos datos del canal en este intervalo de tiempo fijo, que a menudo se usa para implementar la correlación de tiempo función. La definición de la estructura y los métodos correspondientes son los siguientes:

type Ticker struct {
	C <-chan Time // The channel on which the ticks are delivered.
	r runtimeTimer
}

Hay dos métodos:

  • func (t *Ticker) Reset(d Duración), detiene el temporizador y restablece su período al intervalo especificado.
  • func (t *Ticker) Stop(), apaga el temporizador, después de llamar a este método, no se enviarán más ticks.

Ejemplo de uso

Puede usar la función time.NewTicker para crear una instancia de Ticker, un ejemplo de uso simple es el siguiente:

package main

import (
	"fmt"
	"time"
)

func main() {
	ticker := time.NewTicker(time.Second) // 每隔1s进行一次打印
	defer ticker.Stop()

	count := 0
	for {
		<-ticker.C
		fmt.Println("Tick")
		count++
		if count > 2 {
			ticker.Reset(2 * time.Second)
		}

		if count > 5 {
			break
		}
	}
}

Primero cree un objeto time.Ticker con un intervalo de tiempo de 1 segundo, cambie el intervalo de tiempo a 2 segundos después de la tercera vez y salga del bucle después de la sexta vez.

Supongo que te gusta

Origin blog.csdn.net/luduoyuan/article/details/132052582
Recomendado
Clasificación