Rumah  >  Artikel  >  pembangunan bahagian belakang  >  go语言实现定时器的方法是什么

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

王林
王林asal
2021-02-04 16:31:562495semak imbas

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

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

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

一、定时器的创建

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)
    }
}

相关推荐:golang教程

Atas ialah kandungan terperinci go语言实现定时器的方法是什么. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn