go语言实现定时器的方法是什么


本文摘自php中文网,作者V,侵删。

go语言实现定时器的方法:可以通过time.sleep、time.after和time.Timer来实现定时器,如【time.Sleep(time.Second)】。

本文操作环境:Windows10系统、Go 1.11.2、thinkpad t480电脑。

一、定时器的创建

golang中定时器有三种实现方式,分别是time.sleep、time.after、time.Timer
其中time.after和time.Timer需要对通道进行释放才能达到定时的效果

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

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可以实现周期定时的效果

1

2

3

4

5

6

7

8

9

10

package main

 

import (    "fmt"

    "time")

 

func main() {

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

        fmt.Println(<-tiker.C)

    }

}

相关推荐:golang教程

以上就是go语言实现定时器的方法是什么的详细内容,更多文章请关注木庄网络博客!!

相关阅读 >>

Go-zero 如何扛住流量冲击(一)

Go 获取 html 标签中的文本_关于html中progress标签的定义及用法汇总!

Gox语言中的全局变量与局部变量-gx52

聊聊dubbo-Go-proxy的consulregistryload

Golang 冒泡排序

剑指 offer-斐波那契数列

你知道为啥不再建议使用Gopath以及如何使用Go modules吗

Go - 统一定义 api 错误码

Golang判断数据类型和获取数据类型

手撸Golang Go与微服务 saga模式之4

更多相关阅读请进入《Go》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...