您的位置 首页 golang

Golang并发编程,6、时钟定时器,初始化、停止与重置

time.NewTicker

 func NewTicker(d Duration) *Ticker  

NewTicker返回一个包含通道的新Ticker,该通道将在定时期后发送通道上的时间。

duration参数指定周期时间。

持续时间d必须>0;d<=0,NewTicker将会panic。

 func func1()  {
	ticker := time.NewTicker(time.Second * 1)
	i := 0
	for {
		t1 := time.Now()
		<-ticker.C
		fmt.Println(time.Since(t1),i)
		i++
	}
}  

ticker.Stop()

Stop的作用是:关闭当前定时器。

ticker停止后,将不再发送通道,但Stop并不会关闭该通道。

 func func2()  {
	ticker := time.NewTicker(time.Second * 1)
	i := 0
	for {
		t1 := time.Now()
		if i == 3{
			ticker.Stop()
			break
		}
		<-ticker.C
		fmt.Println(time.Since(t1),i)
		i++
	}
}  

ticker.Reset()

func (t *Ticker) Reset(d Duration)

ticker.Reset的作用是停止并复位ticker。

 func func3() {
	ticker := time.NewTicker(time.Second * 1)
	ticker.Reset(time.Second * 2)
	i := 0
	for {
		t1 := time.Now()
		if i == 5{
			ticker.Stop()
			break
		}
		<-ticker.C
		fmt.Println(time.Since(t1),i)
		i++
	}
}  

文章来源:智云一二三科技

文章标题:Golang并发编程,6、时钟定时器,初始化、停止与重置

文章地址:https://www.zhihuclub.com/98492.shtml

关于作者: 智云科技

热门文章

网站地图