go语言实现定时器方法

一、定时器的创建

golang中定时器有三种实现方式,分别是time.sleep、time.after、time.Timer

其中time.after和time.Timer需要对通道进行释放才能达到定时的效果

package mainimport (    "fmt"

"time")func main() {    /*

用sleep实现定时器

*/

fmt.Println(time.Now())

time.Sleep(time.Second)

fmt.Println(time.Now())    /*

用timer实现定时器

*/

timer := time.NewTimer(time.Second)

fmt.Println(<-timer.C)    /*

用after实现定时器

*/

fmt.Println(<-time.After(time.Second))

}

二、定时器的重置与停止

重置定时器 timer.Reset(d Duration)

停止定时器 timer.Stop()

三、周期定时的实现Tiker

golang中使用Tiker可以实现周期定时的效果

package main

import (    "fmt"

"time")

func main() {

tiker := time.NewTicker(time.Second)    for i := 0; i < 3; i++ {

fmt.Println(<-tiker.C)

}

}

本文来自php中文网的golang栏目:https://www.php.cn/be/go/

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容