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