无名阁,只为技术而生。流水不争先,争的是滔滔不绝。

(go time.sleep) Go语言文档解读:time.Sleep函数实现休眠 Go语言中的Sleep函数 全网首发(图文详解1)

前沿技术 Micheal 8个月前 (05-10) 100次浏览 已收录 扫描二维码

(go time.sleep) Go语言文档解读:time.Sleep函数实现休眠

Go语言中的time.Sleep函数用于让当前的Go协程暂停一段时间。在这段时间内,Go协程处于阻塞状态,不会占用CPU资源。其使用方法非常简单,其函数原型如下:

func Sleep(d Duration)

Sleep函数只有一个参数,表示休眠的时间,这个时间的单位可以是纳秒,微秒,毫秒,秒等。以下是一个time.Sleep的简单用法:

package main

import (
    "fmt"
    "time"
)

func main() {
    fmt.Println("Sleeping")
    // Sleep for 2 seconds
    time.Sleep(2 * time.Second)
    fmt.Println("Waking up!")
}

在上面的代码中,我让当前的Go协程休眠了2秒钟,然后输出”Waking up!”。

如果你有多个Go协程,并且每个Go协程只需要休眠一段时间,那么你可以考虑使用time.After函数。这个函数会在指定的时间后,向返回的的channel发送一个时间点,同时这个channel是带缓冲的,所以发送完成后就不会阻塞。

以下是time.After函数示例:

package main

import (
    "fmt"
    "time"
)

func main() {
    fmt.Println("Starting")

    select {
    case <-time.After(2 * time.Second):
        fmt.Println("Waking up!")
    }
}

程序运行后马上打印出”Starting”,然后在2秒后打印出”Waking up!”,然后程序结束。

以上就是time.Sleeptime.After函数的基本用法,希望对你有所帮助。
微软停止向Win11推送KB5007651更新:确认存在本地安全机构保护错误问题 微软更新停止流程简介 全网首发(图文详解1)
linux清除历史的命令是什么 如何清除-Linux-命令历史 全网首发(图文详解1)

喜欢 (0)
[]
分享 (0)
关于作者:
流水不争先,争的是滔滔不绝